⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 moz1011ex.txt

📁 mozilla developer book examples.
💻 TXT
字号:
<?xml version="1.0"?>
<bindings xmlns ="http://www.mozilla.org/xbl"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  <binding id="people">
    <implementation>
      <constructor>
      <![CDATA[
        // Read the Names into an Array
        names = document.getAnonymousNodes(this)[0].getAttribute('names');
        names = new String(names);
        namesArray= names.split(',');
        // Initialize the RDF Service
        rdf = Components
             .classes['@mozilla.org/rdf/rdf-service;1']
             .getService(Components.interfaces.nsIRDFService);
        // Initialize a Datasource in Memory
             inMemory = '@mozilla.org/rdf/datasource;1?name=in-memory-datasource';
        datasource = Components.classes[inMemory].
           createInstance(Components.interfaces.nsIRDFDataSource);
        // Create the Root Node and an Anonymous Resource to Start With
        root   = rdf.GetResource('urn:root');
        people = rdf.GetAnonymousResource( );
        // Insert the People resource into the RDF graph
        datasource.Assert
          (root,
           rdf.GetResource('http://www.mozdev.org/rdf#people'),
           people,true);
        // Initialize Methods needed for Containers
        rdfc = Components
              .classes['@mozilla.org/rdf/container-utils;1']
              .getService(Components.interfaces.nsIRDFContainerUtils);
        // For the People resource, make a Sequence of people
        peopleSequence = rdfc.MakeSeq(datasource, people);
        for(i=0;i<namesArray.length;i++)
        {
          // Create a Person, with a Unique Number, for example
          person = rdf.GetResource(i);
          // Insert the Person's name into the RDF graph underneath number
          datasource.Assert
            (person,
             rdf.GetResource('http://www.mozdev.org/rdf#name'),
             rdf.GetLiteral(namesArray[i]),true);
          peopleSequence.AppendElement(person);
        }
        list = document.getAnonymousNodes(this)[1];
        list.database.AddDataSource(datasource);
      ]]>
      </constructor>
    </implementation>
    <content>
      <xul:box id="names" inherits="names" flex="0"/>
      <xul:listbox datasources="rdf:null" ref="urn:root" flex="1">
        <xul:template>
          <xul:rule>
            <xul:conditions>
              <xul:content uri="?uri"/>
              <xul:triple subject="?uri"
                       predicate="http://www.mozdev.org/rdf#people"                              object="?people"/>
              <xul:member container="?people" child="?person"/>
              <xul:triple subject="?person"
                       predicate="http://www.mozdev.org/rdf#name"                         object="?name"/>
            </xul:conditions>
            <xul:action>
              <xul:listitem uri="?person">
                <xul:listcell>
                  <xul:description value="?person "/>
                  <xul:description value="?name"/>
                </xul:listcell>
              </xul:listitem>
            </xul:action>
          </xul:rule>
        </xul:template>
      </xul>
    </content>
  </binding>
</bindings>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -