Listing 6. Final XUL for a Tree-Based View of ps
Data

<?xml version="1.0"?>
<?xml-stylesheet
 href="chrome://global/skin/global.css"
 type="text/css"?>
<!DOCTYPE window>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
 title="Process Tree" flex="1">
 <script src="tree.js"/>

 <vbox flex="1">
  <description>
   Snapshot of processes currently running
  </description>

 <tree id="proc-tree"
  flex="1"
  datasources="rdf:null"
  ref="http://www.example.org/ProcData#ProcList"
 containment="http://www.example.org/ProcData#child"
 >
  <treecols>
   <treecol id="pid" primary="true" label="PID"
     minwidth="75"/>
   <splitter class="tree-splitter"/>
   <treecol id="pcpu" label="%CPU" minwidth="40"/>
   <splitter class="tree-splitter"/>
   <treecol id="time" label="TIME" minwidth="40"/>
   <splitter class="tree-splitter"/>
   <treecol id="vsz" label="VSZ" minwidth="40"/>
   <splitter class="tree-splitter"/>
   <treecol id="group" label="GROUP" minwidth="40"/>
   <splitter class="tree-splitter"/>
   <treecol id="nice" label="NI" minwidth="40"/>
   <splitter class="tree-splitter"/>
   <treecol id="user" label="USER" minwidth="40"/>
   <splitter class="tree-splitter"/>
   <treecol flex="1" id="args" label="COMMAND"
     minwidth="40"/>
  </treecols>
  <template>
   <treechildren>
    <treeitem open="true" uri="rdf:*">
     <treerow>
      <treecell
 label="rdf:http://www.example.org/ProcData#pid"/>
      <treecell
 label="rdf:http://www.example.org/ProcData#pcpu"/>
      <treecell
 label="rdf:http://www.example.org/ProcData#time"/>
      <treecell
 label="rdf:http://www.example.org/ProcData#vsz"/>
      <treecell
 label="rdf:http://www.example.org/ProcData#group"/>
      <treecell
 label="rdf:http://www.example.org/ProcData#nice"/>
      <treecell
 label="rdf:http://www.example.org/ProcData#user"/>
      <treecell
 label="rdf:http://www.example.org/ProcData#args"/>
     </treerow>
    </treeitem>
   </treechildren>
  </template>
 </tree>
</vbox>

</window>

