Bug 611313 - Initialize with an empty datasource for template tests so that sync and async loading attempts don't conflict; r=afrosdwilsh a=orange-fix
authorNeil Deakin <enndeakin@gmail.com>
Fri, 19 Nov 2010 12:39:40 -0500
changeset 57914 509c3d710e15d16d6b9b8bce94c68fa089289361
parent 57913 4eeb36eb555f2d94fca2dbcbc021da23fc4c3a2e
child 57915 cc5a70c9e1e8388069322f2748b30356914ad435
push id1
push usershaver@mozilla.com
push dateTue, 04 Jan 2011 17:58:04 +0000
reviewersafrosdwilsh, orange-fix
bugs611313
milestone2.0b8pre
Bug 611313 - Initialize with an empty datasource for template tests so that sync and async loading attempts don't conflict; r=afrosdwilsh a=orange-fix
content/xul/templates/tests/chrome/templates_shared.js
content/xul/templates/tests/chrome/test_tmpl_bindingsmultiple.xul
content/xul/templates/tests/chrome/test_tmpl_bindingsquerysyntax.xul
content/xul/templates/tests/chrome/test_tmpl_bindingsreversed.xul
content/xul/templates/tests/chrome/test_tmpl_bindingssameastriple.xul
content/xul/templates/tests/chrome/test_tmpl_containerandmembervariablechanged.xul
content/xul/templates/tests/chrome/test_tmpl_containervariablechanged.xul
content/xul/templates/tests/chrome/test_tmpl_containmentattribute.xul
content/xul/templates/tests/chrome/test_tmpl_defaultcontainervariableisuri.xul
content/xul/templates/tests/chrome/test_tmpl_extendedsyntax.xul
content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxemptyconditions.xul
content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxotherrefvariable.xul
content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxremoveunmatched.xul
content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxsimplevariablesubstitution.xul
content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxtworulesrecurse.xul
content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxusinganinterveningcontainer.xul
content/xul/templates/tests/chrome/test_tmpl_extendedvariablesubstitution.xul
content/xul/templates/tests/chrome/test_tmpl_gridelement.xul
content/xul/templates/tests/chrome/test_tmpl_htmlelementextendedsyntaxwithbinding.xul
content/xul/templates/tests/chrome/test_tmpl_htmlelementquerysyntaxrecursive.xul
content/xul/templates/tests/chrome/test_tmpl_htmlelementquerysyntaxwithmultiplerules.xul
content/xul/templates/tests/chrome/test_tmpl_htmlelementsimplesyntax.xul
content/xul/templates/tests/chrome/test_tmpl_htmlelementsimplesyntaxusingatextnode.xul
content/xul/templates/tests/chrome/test_tmpl_invalidqp.xul
content/xul/templates/tests/chrome/test_tmpl_listboxelement.xul
content/xul/templates/tests/chrome/test_tmpl_literalasmember.xul
content/xul/templates/tests/chrome/test_tmpl_membervariablechanged.xul
content/xul/templates/tests/chrome/test_tmpl_membervariablesubstitution.xul
content/xul/templates/tests/chrome/test_tmpl_menuelement.xul
content/xul/templates/tests/chrome/test_tmpl_menuelementrecursive.xul
content/xul/templates/tests/chrome/test_tmpl_menulistelement.xul
content/xul/templates/tests/chrome/test_tmpl_mixedsyntaxiscontainer.xul
content/xul/templates/tests/chrome/test_tmpl_mixedsyntaxiscontainerisempty.xul
content/xul/templates/tests/chrome/test_tmpl_mixedsyntaxisempty.xul
content/xul/templates/tests/chrome/test_tmpl_noaction.xul
content/xul/templates/tests/chrome/test_tmpl_noactionuriattribute.xul
content/xul/templates/tests/chrome/test_tmpl_parentconditions.xul
content/xul/templates/tests/chrome/test_tmpl_parentcontenttag.xul
content/xul/templates/tests/chrome/test_tmpl_parentsimplesyntax.xul
content/xul/templates/tests/chrome/test_tmpl_query3triples.xul
content/xul/templates/tests/chrome/test_tmpl_query3tripleswherecontains.xul
content/xul/templates/tests/chrome/test_tmpl_querymember3tripleswhereequals.xul
content/xul/templates/tests/chrome/test_tmpl_querymemberandtwotriples.xul
content/xul/templates/tests/chrome/test_tmpl_querymembertriplemembertriple.xul
content/xul/templates/tests/chrome/test_tmpl_queryresourcematch.xul
content/xul/templates/tests/chrome/test_tmpl_queryreversetriple.xul
content/xul/templates/tests/chrome/test_tmpl_queryselfwithtriple.xul
content/xul/templates/tests/chrome/test_tmpl_querysetone.xul
content/xul/templates/tests/chrome/test_tmpl_querysettwo.xul
content/xul/templates/tests/chrome/test_tmpl_querysettwowithcondition.xul
content/xul/templates/tests/chrome/test_tmpl_querysyntax.xul
content/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerules.xul
content/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerulesfirstconditionall.xul
content/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerulestwoconditions.xul
content/xul/templates/tests/chrome/test_tmpl_querytripleandmembermerge.xul
content/xul/templates/tests/chrome/test_tmpl_querytripleobjecttosubject.xul
content/xul/templates/tests/chrome/test_tmpl_querytwomembers.xul
content/xul/templates/tests/chrome/test_tmpl_querytwomembersfiltered.xul
content/xul/templates/tests/chrome/test_tmpl_querytwotriples.xul
content/xul/templates/tests/chrome/test_tmpl_queryupwardsmember.xul
content/xul/templates/tests/chrome/test_tmpl_queryupwardsmembertripleandfilteringtriple.xul
content/xul/templates/tests/chrome/test_tmpl_querywithemptyconditions.xul
content/xul/templates/tests/chrome/test_tmpl_referenceasmember.xul
content/xul/templates/tests/chrome/test_tmpl_selfgenerationextendedsyntax.xul
content/xul/templates/tests/chrome/test_tmpl_selfgenerationsimplesyntax.xul
content/xul/templates/tests/chrome/test_tmpl_simplesyntaxenclosedinacontainer.xul
content/xul/templates/tests/chrome/test_tmpl_simplesyntaxenclosedinacontainerwitharule.xul
content/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilter.xul
content/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilterwithmultiplerules.xul
content/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilterwithrule.xul
content/xul/templates/tests/chrome/test_tmpl_simplesyntaxiteratingoverasinglevalue.xul
content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusinganinterveningcontainer.xul
content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingatextnode.xul
content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingcontainerasthegenerationelement.xul
content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingdontrecurse.xul
content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingrecursivegeneration.xul
content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingrecursivegenerationagain.xul
content/xul/templates/tests/chrome/test_tmpl_simplesyntaxwithtwovariablesused.xul
content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutioncaretsatbeginningandend.xul
content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutioncaretsubstitution.xul
content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionnovariable.xul
content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionquestionmarkaspartofvariable.xul
content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionquestionmarksubstitution.xul
content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutiontextandvariable.xul
content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionvariableandtextconcatenated.xul
content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionvariablesconcatenated.xul
content/xul/templates/tests/chrome/test_tmpl_sortascendinginteger.xul
content/xul/templates/tests/chrome/test_tmpl_sortascendingquerysyntax.xul
content/xul/templates/tests/chrome/test_tmpl_sortascendingtworulesquerysyntax.xul
content/xul/templates/tests/chrome/test_tmpl_sortascendingtworuleswithcontainerquerysyntax.xul
content/xul/templates/tests/chrome/test_tmpl_sortascendingtworuleswithdifferentcontainerquerysyntax.xul
content/xul/templates/tests/chrome/test_tmpl_sortdescendingquerysyntax.xul
content/xul/templates/tests/chrome/test_tmpl_sortquerymemberandtwotriples.xul
content/xul/templates/tests/chrome/test_tmpl_sortresource2descendingsimplesyntax.xul
content/xul/templates/tests/chrome/test_tmpl_sortresource2settopredicateascendingquerysyntax.xul
content/xul/templates/tests/chrome/test_tmpl_sortresource2settopredicatedescendingquerysyntax.xul
content/xul/templates/tests/chrome/test_tmpl_sortresourceascendingquerysyntax.xul
content/xul/templates/tests/chrome/test_tmpl_sortresourcedescendingquerysyntax.xul
content/xul/templates/tests/chrome/test_tmpl_sortresourcesettopredicateascendingquerysyntax.xul
content/xul/templates/tests/chrome/test_tmpl_sortresourcesettopredicatedescendingquerysyntax.xul
content/xul/templates/tests/chrome/test_tmpl_sorttworesourcesasstringsettopredicatedescendingquerysyntax.xul
content/xul/templates/tests/chrome/test_tmpl_sorttworesourcessettopredicateascendingquerysyntax.xul
content/xul/templates/tests/chrome/test_tmpl_sorttwovariablesascendingquerysyntax.xul
content/xul/templates/tests/chrome/test_tmpl_sorttwovariablesascendingsimplesyntax.xul
content/xul/templates/tests/chrome/test_tmpl_sorttwovariablesdescendingquerysyntax.xul
content/xul/templates/tests/chrome/test_tmpl_sortunknownascendingquerysyntax.xul
content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntax.xul
content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxnotrecursive.xul
content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxnotrecursivetreebuilder.xul
content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursive.xul
content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivemultiplerules.xul
content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivemultiplerulestreebuilder.xul
content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivetreebuilder.xul
content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxtreebuilder.xul
content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxnotrecursive.xul
content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxnotrecursivetreebuilder.xul
content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxrecursive.xul
content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxrecursivetreebuilder.xul
content/xul/templates/tests/chrome/test_tmpl_treeelementtreecell.xul
content/xul/templates/tests/chrome/test_tmpl_treeelementtreecellsortascending.xul
content/xul/templates/tests/chrome/test_tmpl_treeelementtreecellsortascendingtreebuilder.xul
content/xul/templates/tests/chrome/test_tmpl_treeelementtreecelltreebuilder.xul
content/xul/templates/tests/chrome/test_tmpl_treeelementtreeitemonly.xul
content/xul/templates/tests/chrome/test_tmpl_treeelementtreeitemsortascending.xul
content/xul/templates/tests/chrome/test_tmpl_twogenerationnodes.xul
content/xul/templates/tests/chrome/test_tmpl_whereafterignorecase.xul
content/xul/templates/tests/chrome/test_tmpl_whereafterlowercase.xul
content/xul/templates/tests/chrome/test_tmpl_whereafternegation.xul
content/xul/templates/tests/chrome/test_tmpl_whereafteruppercase.xul
content/xul/templates/tests/chrome/test_tmpl_wherebeforeignorecase.xul
content/xul/templates/tests/chrome/test_tmpl_wherebeforelowercase.xul
content/xul/templates/tests/chrome/test_tmpl_wherebeforenegation.xul
content/xul/templates/tests/chrome/test_tmpl_wherebeforeuppercase.xul
content/xul/templates/tests/chrome/test_tmpl_wherecontains.xul
content/xul/templates/tests/chrome/test_tmpl_wherecontainsignorecase.xul
content/xul/templates/tests/chrome/test_tmpl_wherecontainsnegation.xul
content/xul/templates/tests/chrome/test_tmpl_wherecontainsnumber.xul
content/xul/templates/tests/chrome/test_tmpl_wherecontainsnumberstring.xul
content/xul/templates/tests/chrome/test_tmpl_wherecontainsresource.xul
content/xul/templates/tests/chrome/test_tmpl_wherecontainstwo.xul
content/xul/templates/tests/chrome/test_tmpl_whereendswith.xul
content/xul/templates/tests/chrome/test_tmpl_whereendswithignorecase.xul
content/xul/templates/tests/chrome/test_tmpl_whereendswithnegation.xul
content/xul/templates/tests/chrome/test_tmpl_whereequals.xul
content/xul/templates/tests/chrome/test_tmpl_whereequalsignorecase.xul
content/xul/templates/tests/chrome/test_tmpl_whereequalsmultiple.xul
content/xul/templates/tests/chrome/test_tmpl_whereequalsmultiplenegation.xul
content/xul/templates/tests/chrome/test_tmpl_whereequalsmultiplenegationignorecase.xul
content/xul/templates/tests/chrome/test_tmpl_whereequalsnegation.xul
content/xul/templates/tests/chrome/test_tmpl_whereequalsnegationignorecase.xul
content/xul/templates/tests/chrome/test_tmpl_whereequalsnegationwrongcase.xul
content/xul/templates/tests/chrome/test_tmpl_whereequalsnumber.xul
content/xul/templates/tests/chrome/test_tmpl_whereequalsothervariable.xul
content/xul/templates/tests/chrome/test_tmpl_whereequalsresource.xul
content/xul/templates/tests/chrome/test_tmpl_whereequalssamevariable.xul
content/xul/templates/tests/chrome/test_tmpl_whereequalswrongcase.xul
content/xul/templates/tests/chrome/test_tmpl_wheregreater.xul
content/xul/templates/tests/chrome/test_tmpl_wheregreaternegation.xul
content/xul/templates/tests/chrome/test_tmpl_wheregreaternegationstring.xul
content/xul/templates/tests/chrome/test_tmpl_wheregreaterstring.xul
content/xul/templates/tests/chrome/test_tmpl_whereless.xul
content/xul/templates/tests/chrome/test_tmpl_wherelessnegation.xul
content/xul/templates/tests/chrome/test_tmpl_wherelessnegationstring.xul
content/xul/templates/tests/chrome/test_tmpl_wherelessstring.xul
content/xul/templates/tests/chrome/test_tmpl_wherenorel.xul
content/xul/templates/tests/chrome/test_tmpl_wherenosubject.xul
content/xul/templates/tests/chrome/test_tmpl_wherenovalue.xul
content/xul/templates/tests/chrome/test_tmpl_wherestartswith.xul
content/xul/templates/tests/chrome/test_tmpl_wherestartswithignorecase.xul
content/xul/templates/tests/chrome/test_tmpl_wherestartswithmultiple.xul
content/xul/templates/tests/chrome/test_tmpl_wherestartswithnegation.xul
content/xul/templates/tests/chrome/test_tmpl_wherestartswithunknownvariable.xul
content/xul/templates/tests/chrome/test_tmpl_wherestartswithvariable.xul
content/xul/templates/tests/chrome/test_tmpl_wheresubjectequalsvariable.xul
content/xul/templates/tests/chrome/test_tmpl_wheresubjectstartswithvariable.xul
--- a/content/xul/templates/tests/chrome/templates_shared.js
+++ b/content/xul/templates/tests/chrome/templates_shared.js
@@ -70,18 +70,23 @@ function test_template()
   var ds;
   if (queryType == "rdf" && RDF) {
     var ioService = Components.classes["@mozilla.org/network/io-service;1"].
                       getService(Components.interfaces.nsIIOService);
 
     var src = window.location.href.replace(/test_tmpl.*xul/, "animals.rdf");
     ds = RDF.GetDataSourceBlocking(src);
 
-    if (root.datasources == "rdf:null")
-      root.datasources = "animals.rdf";
+    if (expectLoggedMessages) {
+      Components.classes["@mozilla.org/consoleservice;1"].
+                 getService(Components.interfaces.nsIConsoleService).reset();
+    }
+
+    if (root.getAttribute("datasources") == "rdf:null")
+      root.setAttribute("datasources", "animals.rdf");
   }
   else if (queryType == "xml") {
     var src = window.location.href.replace(/test_tmpl.*xul/, "animals.xml");
     xmlDoc = new XMLHttpRequest();
     xmlDoc.open("get", src, false);
     xmlDoc.send(null);
   }
 
@@ -121,17 +126,18 @@ function iterateChanged(root, ds)
 
   for (var c = 0; c < changes.length; c++) {
     changes[c](ds, root);
     checkResults(root, c + 1);
   }
 
   if (needsOpen)
     root.open = false;
-  compareConsoleMessages();
+  if (expectedConsoleMessages.length)
+    compareConsoleMessages();
   SimpleTest.finish();
 }
 
 function checkResults(root, step)
 {
   var output = expectedOutput.copy();
   setForCurrentStep(output, step);
 
@@ -167,17 +173,18 @@ function checkResults(root, step)
         serializedXML += ((new XMLSerializer()).serializeToString(node));
     }
 
     // remove the XUL namespace declarations to make the output more readable
     const nsrepl = new RegExp("xmlns=\"" + XUL_NS + "\" ", "g");
     serializedXML = serializedXML.replace(nsrepl, "");
     if (debug)
       dump("-------- " + adjtestid + "  " + error + ":\n" + serializedXML + "\n");
-    is(serializedXML, "Same", "Error is: " + error);
+    if (error)
+      is(serializedXML, "Same", "Error is: " + error);
   }
 }
 
 /**
  * Adjust the expected output to acccount for any step attributes.
  */
 function setForCurrentStep(content, currentStep)
 {
--- a/content/xul/templates/tests/chrome/test_tmpl_bindingsmultiple.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_bindingsmultiple.xul
@@ -53,17 +53,17 @@ var changes = [
     targetds.Assert(RDF.GetResource(ZOO_NS + 'humans/sarah'),
                     RDF.GetResource(ZOO_NS + 'rdf#lastName'),
                     RDF.GetLiteral('Yarmouth'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/all-animals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/all-animals">
 <template>
 <query>
 <content uri="?uri"/>
 <member container="?uri" child="?child"/>
 </query>
 <rule>
 <bindings>
 <binding subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#keeper" object="?keeper"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_bindingsquerysyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_bindingsquerysyntax.xul
@@ -48,17 +48,17 @@ var changes = [
     targetds.Assert(RDF.GetResource(ZOO_NS + 'humans/sarah'),
                     RDF.GetResource(ZOO_NS + 'rdf#lastName'),
                     RDF.GetLiteral('Yarmouth'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/humans">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/humans">
 <template id="template">
 <query>
 <content uri="?uri"/>
 <member container="?uri" child="?child"/>
 <triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule id="rule">
 <bindings id="bindings">
--- a/content/xul/templates/tests/chrome/test_tmpl_bindingsreversed.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_bindingsreversed.xul
@@ -33,17 +33,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/humans/sarah" value="First Name: Sarah  Last Name: "/>
   <label id="http://www.some-fictitious-zoo.com/humans/robert" value="First Name: Robert  Last Name: "/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/humans">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/humans">
 <template id="template">
 <query>
 <content uri="?uri"/>
 <member container="?uri" child="?child"/>
 <triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule id="rule">
 <bindings id="bindings">
--- a/content/xul/templates/tests/chrome/test_tmpl_bindingssameastriple.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_bindingssameastriple.xul
@@ -33,17 +33,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/humans/sarah" value="First Name: Sarah  Last Name: "/>
   <label id="http://www.some-fictitious-zoo.com/humans/robert" value="First Name: Robert  Last Name: "/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/humans">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/humans">
 <template id="template">
 <query>
 <content uri="?uri"/>
 <member container="?uri" child="?child"/>
 <triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule id="rule">
 <bindings id="bindings">
--- a/content/xul/templates/tests/chrome/test_tmpl_containerandmembervariablechanged.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_containerandmembervariablechanged.xul
@@ -73,17 +73,17 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template container="?parent" member="?child">
 <rule>
 <button uri="?" label="?parent ?child"/>
 </rule>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_containervariablechanged.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_containervariablechanged.xul
@@ -34,17 +34,17 @@ var expectedOutput =
   <button id="http://www.some-fictitious-zoo.com/birds/barnowl" label="http://www.some-fictitious-zoo.com/birds "/>
   <button id="http://www.some-fictitious-zoo.com/birds/raven" label="http://www.some-fictitious-zoo.com/birds "/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template container="?parent">
 <rule>
 <button uri="?" label="?parent ?child"/>
 </rule>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_containmentattribute.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_containmentattribute.xul
@@ -49,17 +49,17 @@ var changes = [
     targetds.Assert(RDF.GetResource(ZOO_NS + 'humans/robert'),
                     RDF.GetResource(ZOO_NS + 'rdf#favoriteAnimal'),
                     RDF.GetResource(ZOO_NS + 'mammals/lion'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/humans/robert" containment="http://www.some-fictitious-zoo.com/rdf#favoriteAnimal">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/humans/robert" containment="http://www.some-fictitious-zoo.com/rdf#favoriteAnimal">
 <template id="template">
 <rule id="rule">
 <conditions>
 <content uri="?uri"/>
 <member container="?uri" child="?child"/>
 <triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </conditions>
 <action>
--- a/content/xul/templates/tests/chrome/test_tmpl_defaultcontainervariableisuri.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_defaultcontainervariableisuri.xul
@@ -34,17 +34,17 @@ var expectedOutput =
   <button id="http://www.some-fictitious-zoo.com/birds/barnowl" label="http://www.some-fictitious-zoo.com/birds"/>
   <button id="http://www.some-fictitious-zoo.com/birds/raven" label="http://www.some-fictitious-zoo.com/birds"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template>
 <rule>
 <button uri="?uri" label="?uri"/>
 </rule>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_extendedsyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_extendedsyntax.xul
@@ -73,17 +73,17 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template id="template">
 <rule id="rule">
 <conditions id="conditions">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </conditions>
 <action id="action">
--- a/content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxemptyconditions.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxemptyconditions.xul
@@ -30,17 +30,17 @@ var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
 <output/>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template id="template">
 <rule id="rule">
 <conditions id="conditions"/>
 <action id="action">
 <label uri="?animal" value="?name"/>
 </action>
 </rule>
 </template>
--- a/content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxotherrefvariable.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxotherrefvariable.xul
@@ -73,17 +73,17 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template id="template">
 <rule id="rule">
 <conditions id="conditions">
 <content uri="?start"/>
 <member container="?start" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </conditions>
 <action id="action">
--- a/content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxremoveunmatched.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxremoveunmatched.xul
@@ -32,17 +32,17 @@ var expectedOutput =
 <output>
   <label id="http://www.some-fictitious-zoo.com/humans/robert" value="Robert Sanderson"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/humans">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/humans">
 <template id="template">
 <rule>
 <conditions>
 <content uri="?uri"/>
 <member container="?uri" child="?human"/>
 <triple subject="?human" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 <triple subject="?human" predicate="http://www.some-fictitious-zoo.com/rdf#lastName" object="?lastname"/>
 </conditions>
--- a/content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxsimplevariablesubstitution.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxsimplevariablesubstitution.xul
@@ -30,17 +30,17 @@ var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
 <label id="http://www.some-fictitious-zoo.com/arachnids/tarantula" value=""/>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/arachnids">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/arachnids">
 <template id="template">
 <rule id="rule">
 <conditions id="conditions">
 <content uri="?start"/>
 <member container="?start" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </conditions>
 <action id="action">
--- a/content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxtworulesrecurse.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxtworulesrecurse.xul
@@ -44,17 +44,17 @@ var expectedOutput =
     <label id="http://www.some-fictitious-zoo.com/mammals/africanelephant" class="indent" value="African Elephant which belongs to the class Mammals"/>
   </vbox>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/humans">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/humans">
 <template>
 <rule>
 <conditions>
 <content uri="?uri"/>
 <member container="?uri" child="?child"/>
 <triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </conditions>
 <action>
--- a/content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxusinganinterveningcontainer.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_extendedsyntaxusinganinterveningcontainer.xul
@@ -34,17 +34,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/birds/barnowl" value="Barn Owl"/>
   <label id="http://www.some-fictitious-zoo.com/birds/raven" value="Raven"/>
 </groupbox>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template id="template">
 <rule id="rule">
 <conditions id="conditions">
 <content uri="?start"/>
 <member container="?start" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </conditions>
 <action id="action">
--- a/content/xul/templates/tests/chrome/test_tmpl_extendedvariablesubstitution.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_extendedvariablesubstitution.xul
@@ -30,17 +30,17 @@ var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
 <label id="http://www.some-fictitious-zoo.com/arachnids/tarantula" value="Tarantula?  - TarantulaTarantula^ Test"/>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/arachnids">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/arachnids">
 <template id="template">
 <rule id="rule">
 <conditions id="conditions">
 <content uri="?start"/>
 <member container="?start" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </conditions>
 <action id="action">
--- a/content/xul/templates/tests/chrome/test_tmpl_gridelement.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_gridelement.xul
@@ -88,17 +88,17 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<grid xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<grid xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <columns>
 <column/>
 <column/>
 </columns>
 <template>
 <query>
 <content uri="?uri"/>
 <member container="?uri" child="?child"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_htmlelementextendedsyntaxwithbinding.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_htmlelementextendedsyntaxwithbinding.xul
@@ -106,10 +106,10 @@ var changes = [
     targetds.Assert(RDF.GetResource(ZOO_NS + 'mammals/chimpanzee'),
                     RDF.GetResource(ZOO_NS + 'rdf#specimens'),
                     RDF.GetLiteral('3'), true);
   }
 ];
 ]]>
 </script>
 
-<div xmlns="http://www.w3.org/1999/xhtml" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals"><template xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="template"><rule><conditions><content uri="?uri"/><member container="?uri" child="?animal"/><triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/><where subject="?name" rel="contains" value="an"/></conditions><bindings><binding subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimens" object="?specimens"/></bindings><action><p xmlns="http://www.w3.org/1999/xhtml" uri="?animal"><textnode xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" value="?name"/><span title="?specimens"/></p></action></rule><rule><conditions><content uri="?uri"/><member container="?uri" child="?animal"/><triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/></conditions><bindings><binding subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimens" object="?specimens"/></bindings><action><div xmlns="http://www.w3.org/1999/xhtml" uri="?animal" title="?name"><em><textnode xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" value="?specimens"/></em></div></action></rule></template></div>
+<div xmlns="http://www.w3.org/1999/xhtml" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals"><template xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="template"><rule><conditions><content uri="?uri"/><member container="?uri" child="?animal"/><triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/><where subject="?name" rel="contains" value="an"/></conditions><bindings><binding subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimens" object="?specimens"/></bindings><action><p xmlns="http://www.w3.org/1999/xhtml" uri="?animal"><textnode xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" value="?name"/><span title="?specimens"/></p></action></rule><rule><conditions><content uri="?uri"/><member container="?uri" child="?animal"/><triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/></conditions><bindings><binding subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimens" object="?specimens"/></bindings><action><div xmlns="http://www.w3.org/1999/xhtml" uri="?animal" title="?name"><em><textnode xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" value="?specimens"/></em></div></action></rule></template></div>
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_htmlelementquerysyntaxrecursive.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_htmlelementquerysyntaxrecursive.xul
@@ -73,10 +73,10 @@ var changes = [
     var removednode = container.RemoveElementAt('2', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Birds'), true);
   }
 ];
 ]]>
 </script>
 
-<div xmlns="http://www.w3.org/1999/xhtml" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/all-animals"><template xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="template"><query><content uri="?uri"/><member container="?uri" child="?child"/><triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/></query><rule><conditions><where subject="?name" rel="endswith" multiple="true" value="mals,ects,nids,irds"/></conditions><action><strong xmlns="http://www.w3.org/1999/xhtml" uri="?child"><textnode xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" value="?name"/></strong></action></rule><rule><conditions><where subject="?uri" rel="equals" negate="true" value="http://www.some-fictitious-zoo.com/all-animals"/><where subject="?name" rel="contains" ignorecase="true" value="o"/></conditions><action><span xmlns="http://www.w3.org/1999/xhtml" uri="?child"><textnode xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" value="?name"/></span></action></rule></template></div>
+<div xmlns="http://www.w3.org/1999/xhtml" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/all-animals"><template xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="template"><query><content uri="?uri"/><member container="?uri" child="?child"/><triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/></query><rule><conditions><where subject="?name" rel="endswith" multiple="true" value="mals,ects,nids,irds"/></conditions><action><strong xmlns="http://www.w3.org/1999/xhtml" uri="?child"><textnode xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" value="?name"/></strong></action></rule><rule><conditions><where subject="?uri" rel="equals" negate="true" value="http://www.some-fictitious-zoo.com/all-animals"/><where subject="?name" rel="contains" ignorecase="true" value="o"/></conditions><action><span xmlns="http://www.w3.org/1999/xhtml" uri="?child"><textnode xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" value="?name"/></span></action></rule></template></div>
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_htmlelementquerysyntaxwithmultiplerules.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_htmlelementquerysyntaxwithmultiplerules.xul
@@ -94,10 +94,10 @@ var changes = [
     targetds.Assert(RDF.GetResource(ZOO_NS + 'mammals/chimpanzee'),
                     RDF.GetResource(ZOO_NS + 'rdf#specimens'),
                     RDF.GetLiteral('3'), true);
   }
 ];
 ]]>
 </script>
 
-<div xmlns="http://www.w3.org/1999/xhtml" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals"><template xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="template"><query><content uri="?uri"/><member container="?uri" child="?animal"/><triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/><triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimens" object="?specimens"/></query><rule><conditions id="conditions"><where subject="?specimens" rel="greater" value="6"/></conditions><action><vbox><p xmlns="http://www.w3.org/1999/xhtml" uri="?animal"><span title="?name"/></p></vbox></action></rule><rule><action><span xmlns="http://www.w3.org/1999/xhtml" uri="?animal"><textnode xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" value="?name"/></span></action></rule></template></div>
+<div xmlns="http://www.w3.org/1999/xhtml" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals"><template xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="template"><query><content uri="?uri"/><member container="?uri" child="?animal"/><triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/><triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimens" object="?specimens"/></query><rule><conditions id="conditions"><where subject="?specimens" rel="greater" value="6"/></conditions><action><vbox><p xmlns="http://www.w3.org/1999/xhtml" uri="?animal"><span title="?name"/></p></vbox></action></rule><rule><action><span xmlns="http://www.w3.org/1999/xhtml" uri="?animal"><textnode xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" value="?name"/></span></action></rule></template></div>
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_htmlelementsimplesyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_htmlelementsimplesyntax.xul
@@ -73,10 +73,10 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<div xmlns="http://www.w3.org/1999/xhtml" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds"><template xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"><p xmlns="http://www.w3.org/1999/xhtml" uri="rdf:*" title="rdf:http://www.some-fictitious-zoo.com/rdf#name"/></template></div>
+<div xmlns="http://www.w3.org/1999/xhtml" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds"><template xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"><p xmlns="http://www.w3.org/1999/xhtml" uri="rdf:*" title="rdf:http://www.some-fictitious-zoo.com/rdf#name"/></template></div>
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_htmlelementsimplesyntaxusingatextnode.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_htmlelementsimplesyntaxusingatextnode.xul
@@ -73,10 +73,10 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<div xmlns="http://www.w3.org/1999/xhtml" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds"><template xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"><p xmlns="http://www.w3.org/1999/xhtml" uri="rdf:*"><textnode xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" value="rdf:http://www.some-fictitious-zoo.com/rdf#name"/></p></template></div>
+<div xmlns="http://www.w3.org/1999/xhtml" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds"><template xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"><p xmlns="http://www.w3.org/1999/xhtml" uri="rdf:*"><textnode xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" value="rdf:http://www.some-fictitious-zoo.com/rdf#name"/></p></template></div>
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_invalidqp.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_invalidqp.xul
@@ -33,16 +33,16 @@ var expectedOutput = <output/>;
 Components.classes["@mozilla.org/consoleservice;1"].
            getService(Components.interfaces.nsIConsoleService).reset();
 expectedConsoleMessages.push("Error parsing template: querytype attribute doesn't specify a valid query processor");
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf"
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null"
       ref="http://www.some-fictitious-zoo.com/birds" querytype="blah">
 <template zoo:name="Barn Owl" xmlns:zoo="http://www.some-fictitious-zoo.com/rdf#">
 <label uri="rdf:*" value="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_listboxelement.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_listboxelement.xul
@@ -95,17 +95,17 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<listbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<listbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <listcols>
 <listcol flex="1"/>
 <listcol flex="1"/>
 </listcols>
 <template>
 <listitem uri="rdf:*">
 <listcell label="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 <listcell label="rdf:http://www.some-fictitious-zoo.com/rdf#species"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_literalasmember.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_literalasmember.xul
@@ -30,17 +30,17 @@ var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
 <output/>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/arachnids">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/arachnids">
 <template id="template">
 <rule id="rule">
 <conditions id="conditions">
 <content uri="?start"/>
 <member container="?start" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </conditions>
 <action id="action">
--- a/content/xul/templates/tests/chrome/test_tmpl_membervariablechanged.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_membervariablechanged.xul
@@ -34,17 +34,17 @@ var expectedOutput =
   <button id="http://www.some-fictitious-zoo.com/birds/barnowl" label="http://www.some-fictitious-zoo.com/birds/barnowl Barn Owl"/>
   <button id="http://www.some-fictitious-zoo.com/birds/raven" label="http://www.some-fictitious-zoo.com/birds/raven Raven"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template member="?child">
 <rule>
 <button uri="?child" label="?child rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </rule>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_membervariablesubstitution.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_membervariablesubstitution.xul
@@ -30,17 +30,17 @@ var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
 <label id="http://www.some-fictitious-zoo.com/arachnids/tarantula" value="http://www.some-fictitious-zoo.com/arachnids/tarantula"/>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/arachnids">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/arachnids">
 <template id="template">
 <rule id="rule">
 <conditions id="conditions">
 <content uri="?start"/>
 <member container="?start" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </conditions>
 <action id="action">
--- a/content/xul/templates/tests/chrome/test_tmpl_menuelement.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_menuelement.xul
@@ -73,17 +73,17 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<button xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" type="menu" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<button xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" type="menu" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template>
 <menupopup>
 <menuitem uri="rdf:*" label="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </menupopup>
 </template>
 </button>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_menuelementrecursive.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_menuelementrecursive.xul
@@ -92,17 +92,17 @@ var changes = [
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
     root.lastChild.firstChild.nextSibling.open = true;
   }
 ];
 ]]>
 </script>
 
-<button xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" type="menu" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/all-animals">
+<button xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" type="menu" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/all-animals">
 <template>
 <rule iscontainer="true" zoo:name="Birds" xmlns:zoo="http://www.some-fictitious-zoo.com/rdf#">
 <menupopup>
 <menu uri="rdf:*" label="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </menupopup>
 </rule>
 <rule parent="button">
 <menupopup>
--- a/content/xul/templates/tests/chrome/test_tmpl_menulistelement.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_menulistelement.xul
@@ -73,17 +73,17 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<menulist xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<menulist xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template>
 <menupopup>
 <menuitem uri="rdf:*" label="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </menupopup>
 </template>
 </menulist>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_mixedsyntaxiscontainer.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_mixedsyntaxiscontainer.xul
@@ -42,17 +42,17 @@ var changes = [
     targetds.Unassert(RDF.GetResource(ZOO_NS + 'humans/sarah'),
                       RDF.GetResource(ZOO_NS + 'rdf#pets'),
                       RDF.GetResource(ZOO_NS + 'sarahs-pets'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/marked" flags="dont-recurse">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/marked" flags="dont-recurse">
 <template id="template">
 <rule id="rule1" iscontainer="true">
 <button uri="rdf:*" label="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </rule>
 <rule>
 <conditions>
 <content uri="?uri"/>
 <member container="?uri" child="?child"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_mixedsyntaxiscontainerisempty.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_mixedsyntaxiscontainerisempty.xul
@@ -35,17 +35,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/crustaceans" container="true" empty="true" value="Crustaceans"/>
   <checkbox id="http://www.some-fictitious-zoo.com/birds/emu" label="Emu"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/marked" flags="dont-recurse">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/marked" flags="dont-recurse">
 <template id="template">
 <rule id="rule1" iscontainer="true" isempty="true">
 <label uri="rdf:*" value="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </rule>
 <rule>
 <conditions>
 <content uri="?uri"/>
 <member container="?uri" child="?child"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_mixedsyntaxisempty.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_mixedsyntaxisempty.xul
@@ -35,17 +35,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/crustaceans" container="true" empty="true" value="Crustaceans"/>
   <label id="http://www.some-fictitious-zoo.com/birds/emu" value="Emu"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/marked" flags="dont-recurse">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/marked" flags="dont-recurse">
 <template id="template">
 <rule id="rule1" isempty="true">
 <label uri="rdf:*" value="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </rule>
 <rule>
 <conditions>
 <content uri="?uri"/>
 <member container="?uri" child="?child"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_noaction.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_noaction.xul
@@ -30,17 +30,17 @@ var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
 <output/>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template>
 <query>
 <content uri="?uri"/>
 <member container="?uri" child="?child"/>
 <triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <button uri="?child" label="?name"/>
 </template>
--- a/content/xul/templates/tests/chrome/test_tmpl_noactionuriattribute.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_noactionuriattribute.xul
@@ -42,15 +42,15 @@ var changes = [
     targetds.Change(RDF.GetResource(ZOO_NS + 'arachnids/tarantula'),
                     RDF.GetResource(ZOO_NS + 'rdf#name'),
                     oldval, RDF.GetLiteral('Hairy Spider'));
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/arachnids">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/arachnids">
 <template id="template">
 <label value="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_parentconditions.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_parentconditions.xul
@@ -78,17 +78,17 @@ var changes = [
     var removednode = container.RemoveElementAt('2', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Birds'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/all-animals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/all-animals">
 <template>
 <query>
 <content uri="?uri"/>
 <member container="?uri" child="?parent"/>
 <triple subject="?parent" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions parent="box">
--- a/content/xul/templates/tests/chrome/test_tmpl_parentcontenttag.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_parentcontenttag.xul
@@ -78,17 +78,17 @@ var changes = [
     var removednode = container.RemoveElementAt('2', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Birds'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/all-animals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/all-animals">
 <template>
 <rule>
 <conditions>
 <content uri="?uri" tag="groupbox"/>
 <member container="?uri" child="?parent"/>
 <triple subject="?parent" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 <where subject="?name" rel="contains" value="a"/>
 </conditions>
--- a/content/xul/templates/tests/chrome/test_tmpl_parentsimplesyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_parentsimplesyntax.xul
@@ -82,17 +82,17 @@ var changes = [
     var removednode = container.RemoveElementAt('2', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Birds'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/all-animals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/all-animals">
 <template member="?parent">
 <rule parent="hbox">
 <button uri="?parent" label="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </rule>
 <rule>
 <conditions>
 <content uri="?uri"/>
 <member container="?uri" child="?parent"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_query3triples.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_query3triples.xul
@@ -35,17 +35,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/reptiles/chameleon" value="Robert likes Chameleons"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/africanelephant" value="Robert likes African Elephants"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/humans/robert">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/humans/robert">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <triple subject="?uri" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?humanname"/>
 <triple subject="?uri" predicate="http://www.some-fictitious-zoo.com/rdf#favoriteAnimal" object="?favoriteAnimal"/>
 <triple subject="?favoriteAnimal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?animalname"/>
 </query>
 <rule>
--- a/content/xul/templates/tests/chrome/test_tmpl_query3tripleswherecontains.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_query3tripleswherecontains.xul
@@ -85,17 +85,17 @@ var changes = [
     targetds.Assert(RDF.GetResource(ZOO_NS + 'mammals/koala'),
                     RDF.GetResource(ZOO_NS + 'rdf#specimensAsString'),
                     RDF.GetLiteral('8'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/humans/robert">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/humans/robert">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <triple subject="?uri" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?humanname"/>
 <triple subject="?uri" predicate="http://www.some-fictitious-zoo.com/rdf#favoriteAnimal" object="?favoriteAnimal"/>
 <triple subject="?favoriteAnimal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?animalname"/>
 </query>
 <rule>
--- a/content/xul/templates/tests/chrome/test_tmpl_querymember3tripleswhereequals.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_querymember3tripleswhereequals.xul
@@ -33,17 +33,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/birds/emu" value="Sarah likes Emus"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/polarbear" value="Sarah likes Polar Bears"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/humans">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/humans">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?human"/>
 <triple subject="?human" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?humanname"/>
 <triple subject="?human" predicate="http://www.some-fictitious-zoo.com/rdf#favoriteAnimal" object="?favoriteAnimal"/>
 <triple subject="?favoriteAnimal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?animalname"/>
 </query>
--- a/content/xul/templates/tests/chrome/test_tmpl_querymemberandtwotriples.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_querymemberandtwotriples.xul
@@ -37,17 +37,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/birds/emu" value="Emu"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/polarbear" value="Polar Bear"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/humans">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/humans">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?human"/>
 <triple subject="?human" predicate="http://www.some-fictitious-zoo.com/rdf#favoriteAnimal" object="?child"/>
 <triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 ,<action>
--- a/content/xul/templates/tests/chrome/test_tmpl_querymembertriplemembertriple.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_querymembertriplemembertriple.xul
@@ -42,17 +42,17 @@ var changes = [
     targetds.Unassert(RDF.GetResource(ZOO_NS + 'humans/sarah'),
                       RDF.GetResource(ZOO_NS + 'rdf#pets'),
                       RDF.GetResource(ZOO_NS + 'sarahs-pets'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/humans">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/humans">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?human"/>
 <triple subject="?human" predicate="http://www.some-fictitious-zoo.com/rdf#pets" object="?pets"/>
 <member container="?pets" child="?child"/>
 <triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
--- a/content/xul/templates/tests/chrome/test_tmpl_queryresourcematch.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_queryresourcematch.xul
@@ -37,17 +37,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals" container="true" empty="false" value="Mammals"/>
   <label id="http://www.some-fictitious-zoo.com/reptiles" container="true" empty="false" value="Reptiles"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/all-animals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/all-animals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?child"/>
 <triple subject="?child" predicate="http://www.w3.org/1999/02/22-rdf-syntax-ns#type" object="http://www.some-fictitious-zoo.com/rdf#Class"/>
 <triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 ,<action>
--- a/content/xul/templates/tests/chrome/test_tmpl_queryreversetriple.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_queryreversetriple.xul
@@ -33,17 +33,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/reptiles" container="true" empty="false" value="Reptiles"/>
   <label id="http://www.some-fictitious-zoo.com/crustaceans" container="true" empty="true" value="Crustaceans"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/humans/robert">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/humans/robert">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#keeper" object="?uri"/>
 <triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 ,<action>
 <label uri="?child" value="?name"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_queryselfwithtriple.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_queryselfwithtriple.xul
@@ -30,17 +30,17 @@ var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
 <label id="http://www.some-fictitious-zoo.com/mammals" container="true" empty="false" value="Mammals"/>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template>
 <query id="query">
 <content uri="?uri"/>
 <triple subject="?uri" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <action>
 <label uri="?uri" value="?name"/>
 </action>
--- a/content/xul/templates/tests/chrome/test_tmpl_querysetone.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_querysetone.xul
@@ -73,17 +73,17 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template id="template">
 <queryset>
 <query>
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <action>
--- a/content/xul/templates/tests/chrome/test_tmpl_querysettwo.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_querysettwo.xul
@@ -84,17 +84,17 @@ var changes = [
     expectConsoleMessage(ZOO_NS + 'birds', ZOO_NS + 'birds/barnowl', false, true,
                          '1 (no new active query)');
   }
 ];
 ]]>
 </script>
 
 <vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" flags="logging"
-      datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+      datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template>
 <queryset>
 <query>
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="Barn Owl"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
--- a/content/xul/templates/tests/chrome/test_tmpl_querysettwowithcondition.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_querysettwowithcondition.xul
@@ -107,17 +107,17 @@ var changes = [
     targetds.Change(RDF.GetResource(ZOO_NS + 'birds/raven'),
                     RDF.GetResource(ZOO_NS + 'rdf#name'),
                     oldval, RDF.GetLiteral('Crow'));
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template>
 <queryset>
 <query>
 <content uri="?uri"/>
 <member container="?uri" child="?child"/>
 <triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 <triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#specimens" object="?specimens"/>
 </query>
--- a/content/xul/templates/tests/chrome/test_tmpl_querysyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_querysyntax.xul
@@ -43,17 +43,17 @@ var changes = [
     targetds.Change(RDF.GetResource(ZOO_NS + 'arachnids/tarantula'),
                     RDF.GetResource(ZOO_NS + 'rdf#name'),
                     oldval, RDF.GetLiteral('Hairy Spider'));
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/arachnids">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/arachnids">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <action id="action">
 <label uri="?animal" value="?name"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerules.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerules.xul
@@ -84,17 +84,17 @@ var changes = [
     targetds.Assert(RDF.GetResource(ZOO_NS + 'mammals/chimpanzee'),
                     RDF.GetResource(ZOO_NS + 'rdf#specimens'),
                     RDF.GetLiteral('3'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query>
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimens" object="?specimens"/>
 </query>
 <rule>
--- a/content/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerulesfirstconditionall.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerulesfirstconditionall.xul
@@ -39,17 +39,17 @@ var expectedOutput =
   <checkbox id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" label="Nine-banded Armadillo"/>
   <checkbox id="http://www.some-fictitious-zoo.com/mammals/gorilla" label="Gorilla"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query>
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimens" object="?specimens"/>
 </query>
 <rule>
--- a/content/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerulestwoconditions.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_querysyntaxmultiplerulestwoconditions.xul
@@ -79,17 +79,17 @@ var changes = [
     targetds.Assert(RDF.GetResource(ZOO_NS + 'mammals/chimpanzee'),
                     RDF.GetResource(ZOO_NS + 'rdf#specimens'),
                     RDF.GetLiteral('3'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query>
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimens" object="?specimens"/>
 </query>
 <rule>
--- a/content/xul/templates/tests/chrome/test_tmpl_querytripleandmembermerge.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_querytripleandmembermerge.xul
@@ -33,17 +33,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/reptiles/chameleon" value="Chameleon"/>
   <label id="http://www.some-fictitious-zoo.com/arachnids/tarantula" value="Tarantula"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/humans/robert">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/humans/robert">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <triple subject="?uri" predicate="http://www.some-fictitious-zoo.com/rdf#favoriteAnimal" object="?child"/>
 <triple subject="?uri" predicate="http://www.some-fictitious-zoo.com/rdf#pets" object="?pets"/>
 <member container="?pets" child="?child"/>
 <triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
--- a/content/xul/templates/tests/chrome/test_tmpl_querytripleobjecttosubject.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_querytripleobjecttosubject.xul
@@ -47,17 +47,17 @@ var changes = [
     targetds.Assert(RDF.GetResource(ZOO_NS + 'humans/robert'),
                     RDF.GetResource(ZOO_NS + 'rdf#favoriteAnimal'),
                     RDF.GetResource(ZOO_NS + 'mammals/lion'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/arachnids/tarantula">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/arachnids/tarantula">
 <template id="template">
 <query>
 <content uri="?uri"/>
 <triple subject="?human" predicate="http://www.some-fictitious-zoo.com/rdf#favoriteAnimal" object="?uri"/>
 <triple subject="?human" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?humanname"/>
 </query>
 <action>
 <label uri="?human" value="?humanname"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_querytwomembers.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_querytwomembers.xul
@@ -86,17 +86,17 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/all-animals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/all-animals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?childone"/>
 <member container="?childone" child="?child"/>
 <triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 ,<action>
--- a/content/xul/templates/tests/chrome/test_tmpl_querytwomembersfiltered.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_querytwomembersfiltered.xul
@@ -32,17 +32,17 @@ var expectedOutput =
 <output>
   <label id="http://www.some-fictitious-zoo.com/mammals/llama" value="Mammals"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/all-animals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/all-animals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?childone"/>
 <triple subject="?childone" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 <member container="?childone" child="?child"/>
 <triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="LLAMA"/>
 </query>
--- a/content/xul/templates/tests/chrome/test_tmpl_querytwotriples.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_querytwotriples.xul
@@ -35,17 +35,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/reptiles/chameleon" value="Chameleon"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/africanelephant" value="African Elephant"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/humans/robert">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/humans/robert">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <triple subject="?uri" predicate="http://www.some-fictitious-zoo.com/rdf#favoriteAnimal" object="?child"/>
 <triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 ,<action>
 <label uri="?child" value="?name"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_queryupwardsmember.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_queryupwardsmember.xul
@@ -34,17 +34,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/birds" container="true" empty="false" value="Birds"/>
   <label id="http://www.some-fictitious-zoo.com/sarahs-pets" container="true" empty="false" value="Sarah's Pets"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds/emu" flags="dont-recurse">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds/emu" flags="dont-recurse">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?child" child="?uri"/>
 <triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 ,<action>
 <label uri="?child" value="?name"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_queryupwardsmembertripleandfilteringtriple.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_queryupwardsmembertripleandfilteringtriple.xul
@@ -33,17 +33,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/reptiles/anaconda" value="Anaconda"/>
   <label id="http://www.some-fictitious-zoo.com/reptiles/chameleon" value="Chameleon"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/humans/robert">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/humans/robert">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <triple subject="?uri" predicate="http://www.some-fictitious-zoo.com/rdf#favoriteAnimal" object="?child"/>
 <member container="?reptiles" child="?child"/>
 <triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 <triple subject="?reptiles" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="Reptiles"/>
 </query>
--- a/content/xul/templates/tests/chrome/test_tmpl_querywithemptyconditions.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_querywithemptyconditions.xul
@@ -94,17 +94,17 @@ var changes = [
     targetds.Assert(RDF.GetResource(ZOO_NS + 'mammals/koala'),
                     RDF.GetResource(ZOO_NS + 'rdf#specimensAsString'),
                     RDF.GetLiteral('8'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_referenceasmember.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_referenceasmember.xul
@@ -43,17 +43,17 @@ var changes = [
     targetds.Change(RDF.GetResource(ZOO_NS + 'arachnids/tarantula'),
                     RDF.GetResource(ZOO_NS + 'rdf#name'),
                     oldval, RDF.GetLiteral('Hairy Spider'));
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/arachnids">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/arachnids">
 <template id="template">
 <rule id="rule">
 <conditions id="conditions">
 <content uri="?start"/>
 <member container="?start" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </conditions>
 <action id="action">
--- a/content/xul/templates/tests/chrome/test_tmpl_selfgenerationextendedsyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_selfgenerationextendedsyntax.xul
@@ -43,17 +43,17 @@ var changes = [
     targetds.Change(RDF.GetResource(ZOO_NS + 'arachnids/tarantula'),
                     RDF.GetResource(ZOO_NS + 'rdf#name'),
                     oldval, RDF.GetLiteral('Hairy Spider'));
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/arachnids/tarantula">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/arachnids/tarantula">
 <template id="template">
 <query>
 <content uri="?uri"/>
 </query>
 <rule>
 <bindings>
 <binding subject="?uri" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </bindings>
--- a/content/xul/templates/tests/chrome/test_tmpl_selfgenerationsimplesyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_selfgenerationsimplesyntax.xul
@@ -40,15 +40,15 @@ var changes = [
     targetds.Change(RDF.GetResource(ZOO_NS + 'arachnids/tarantula'),
                     RDF.GetResource(ZOO_NS + 'rdf#name'),
                     oldval, RDF.GetLiteral('Hairy Spider'));
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/arachnids/tarantula">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/arachnids/tarantula">
 <template id="template">
 <button uri="?" label="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxenclosedinacontainer.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxenclosedinacontainer.xul
@@ -75,17 +75,17 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template id="template">
 <hbox>
 <label uri="rdf:*" value="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </hbox>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxenclosedinacontainerwitharule.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxenclosedinacontainerwitharule.xul
@@ -41,17 +41,17 @@ var expectedOutput =
   </hbox>
   <label step="2" id="http://www.some-fictitious-zoo.com/birds/emperorpenguin" value="Emperor Penguin"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template id="template">
 <rule>
 <hbox uri="rdf:*">
 <label value="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </hbox>
 </rule>
 </template>
 </vbox>
--- a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilter.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilter.xul
@@ -30,15 +30,15 @@ var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
 <label id="http://www.some-fictitious-zoo.com/birds/barnowl" value="Barn Owl"/>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template zoo:name="Barn Owl" xmlns:zoo="http://www.some-fictitious-zoo.com/rdf#">
 <label uri="rdf:*" value="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilterwithmultiplerules.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilterwithmultiplerules.xul
@@ -79,17 +79,17 @@ var changes = [
     targetds.Change(RDF.GetResource(ZOO_NS + 'birds/barnowl'),
                     RDF.GetResource(ZOO_NS + 'rdf#name'),
                     oldval, RDF.GetLiteral('Barn Owl'));
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template>
 <rule zoo:name="Barn Owl" xmlns:zoo="http://www.some-fictitious-zoo.com/rdf#">
 <label uri="rdf:*" value="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </rule>
 <rule>
 <button uri="rdf:*" label="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </rule>
 </template>
--- a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilterwithrule.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxfilterwithrule.xul
@@ -81,17 +81,17 @@ var changes = [
     targetds.Change(RDF.GetResource(ZOO_NS + 'birds/barnowl'),
                     RDF.GetResource(ZOO_NS + 'rdf#name'),
                     oldval, RDF.GetLiteral('Barn Owl'));
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template>
 <rule zoo:name="Barn Owl" xmlns:zoo="http://www.some-fictitious-zoo.com/rdf#">
 <hbox uri="rdf:*">
 <label value="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </hbox>
 </rule>
 </template>
 </vbox>
--- a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxiteratingoverasinglevalue.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxiteratingoverasinglevalue.xul
@@ -73,15 +73,15 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template id="template">
 <label uri="rdf:*" value="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusinganinterveningcontainer.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusinganinterveningcontainer.xul
@@ -73,17 +73,17 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template id="template">
 <groupbox>
 <label uri="rdf:*" value="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </groupbox>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingatextnode.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingatextnode.xul
@@ -37,15 +37,15 @@ var expectedOutput =
   <description step="2" id="http://www.some-fictitious-zoo.com/birds/archaeopteryx">Archaeopteryx</description>
   <description step="1" id="http://www.some-fictitious-zoo.com/birds/emperorpenguin">Emperor Penguin</description>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template id="template">
 <description uri="rdf:*"><textnode value="rdf:http://www.some-fictitious-zoo.com/rdf#name"/></description>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingcontainerasthegenerationelement.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingcontainerasthegenerationelement.xul
@@ -85,17 +85,17 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template id="template">
 <hbox uri="rdf:*">
 <label value="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </hbox>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingdontrecurse.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingdontrecurse.xul
@@ -37,17 +37,17 @@ var expectedOutput =
     <label value="Birds"/>
   </hbox>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/some-animals" flags="dont-recurse">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/some-animals" flags="dont-recurse">
 <template id="template">
 <hbox uri="rdf:*">
 <label value="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </hbox>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingrecursivegeneration.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingrecursivegeneration.xul
@@ -94,17 +94,17 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/some-animals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/some-animals">
 <template id="template">
 <hbox uri="rdf:*">
 <label value="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </hbox>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingrecursivegenerationagain.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxusingrecursivegenerationagain.xul
@@ -49,17 +49,17 @@ var expectedOutput =
     </hbox>
   </hbox>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/some-animals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/some-animals">
 <template id="template">
 <hbox uri="rdf:*">
 <label value="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </hbox>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxwithtwovariablesused.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_simplesyntaxwithtwovariablesused.xul
@@ -43,17 +43,17 @@ var expectedOutput =
     <label value="0"/>
   </hbox>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template id="template">
 <hbox uri="rdf:*">
 <label value="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 <label value="rdf:http://www.some-fictitious-zoo.com/rdf#specimens"/>
 </hbox>
 </template>
 </vbox>
 
--- a/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutioncaretsatbeginningandend.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutioncaretsatbeginningandend.xul
@@ -30,15 +30,15 @@ var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
 <label id="http://www.some-fictitious-zoo.com/arachnids/tarantula" value="^^Before Tarantula^"/>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/arachnids">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/arachnids">
 <template id="template">
 <label uri="rdf:*" value="^^Before rdf:http://www.some-fictitious-zoo.com/rdf#name^^"/>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutioncaretsubstitution.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutioncaretsubstitution.xul
@@ -30,15 +30,15 @@ var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
 <label id="http://www.some-fictitious-zoo.com/arachnids/tarantula" value="Tarantula^ and^^ lots ^ more"/>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/arachnids">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/arachnids">
 <template id="template">
 <label uri="rdf:*" value="rdf:http://www.some-fictitious-zoo.com/rdf#name^^ and^^ lots ^ more"/>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionnovariable.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionnovariable.xul
@@ -30,15 +30,15 @@ var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
 <label id="http://www.some-fictitious-zoo.com/arachnids/tarantula" value="Name"/>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/arachnids">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/arachnids">
 <template id="template">
 <label uri="rdf:*" value="Name"/>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionquestionmarkaspartofvariable.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionquestionmarkaspartofvariable.xul
@@ -30,15 +30,15 @@ var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
 <label id="http://www.some-fictitious-zoo.com/arachnids/tarantula" value="Name is "/>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/arachnids">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/arachnids">
 <template id="template">
 <label uri="rdf:*" value="Name is rdf:http://www.some-fictitious-zoo.com/rdf#name?"/>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionquestionmarksubstitution.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionquestionmarksubstitution.xul
@@ -43,15 +43,15 @@ var changes = [
     targetds.Change(RDF.GetResource(ZOO_NS + 'arachnids/tarantula'),
                     RDF.GetResource(ZOO_NS + 'rdf#name'),
                     oldval, RDF.GetLiteral('Hairy Spider'));
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/arachnids">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/arachnids">
 <template id="template">
 <label uri="rdf:*" value="Are you a rdf:http://www.some-fictitious-zoo.com/rdf#name ?sample ??"/>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutiontextandvariable.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutiontextandvariable.xul
@@ -43,15 +43,15 @@ var changes = [
     targetds.Change(RDF.GetResource(ZOO_NS + 'arachnids/tarantula'),
                     RDF.GetResource(ZOO_NS + 'rdf#name'),
                     oldval, RDF.GetLiteral('Hairy Spider'));
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/arachnids">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/arachnids">
 <template id="template">
 <label uri="rdf:*" value="Name is rdf:http://www.some-fictitious-zoo.com/rdf#name the Spider"/>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionvariableandtextconcatenated.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionvariableandtextconcatenated.xul
@@ -30,15 +30,15 @@ var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
 <label id="http://www.some-fictitious-zoo.com/arachnids/tarantula" value="The Tarantula's Nest"/>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/arachnids">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/arachnids">
 <template id="template">
 <label uri="rdf:*" value="The rdf:http://www.some-fictitious-zoo.com/rdf#name^'s Nest"/>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionvariablesconcatenated.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_simplevariablesubstitutionvariablesconcatenated.xul
@@ -30,15 +30,15 @@ var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
 <label id="http://www.some-fictitious-zoo.com/arachnids/tarantula" value="Tarantula3"/>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/arachnids">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/arachnids">
 <template id="template">
 <label uri="rdf:*" value="rdf:http://www.some-fictitious-zoo.com/rdf#name^rdf:http://www.some-fictitious-zoo.com/rdf#specimens"/>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_sortascendinginteger.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_sortascendinginteger.xul
@@ -48,17 +48,17 @@ var changes = [
     var predicate = RDF.GetResource(ZOO_NS + 'rdf#specimensAsString');
     var oldval = targetds.GetTarget(subject, predicate, true);
     targetds.Change(subject, predicate, oldval, RDF.GetLiteral('12'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf"
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null"
       ref="http://www.some-fictitious-zoo.com/mammals" sort="?specimens ?name" sortDirection="ascending" sorthints="integer">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimensAsString" object="?specimens"/>
 </query>
--- a/content/xul/templates/tests/chrome/test_tmpl_sortascendingquerysyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_sortascendingquerysyntax.xul
@@ -94,17 +94,17 @@ var changes = [
     targetds.Assert(RDF.GetResource(ZOO_NS + 'mammals/koala'),
                     RDF.GetResource(ZOO_NS + 'rdf#specimensAsString'),
                     RDF.GetLiteral('8'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals" sort="?name" sortDirection="ascending">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals" sort="?name" sortDirection="ascending">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <action id="action">
 <label uri="?animal" value="?name"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_sortascendingtworulesquerysyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_sortascendingtworulesquerysyntax.xul
@@ -39,17 +39,17 @@ var expectedOutput =
   <button id="http://www.some-fictitious-zoo.com/mammals/africanelephant" label="African Elephant"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/polarbear" value="Polar Bear"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals" sortDirection="ascending" sort="?specimens ?name" sortResource="http://www.some-fictitious-zoo.com/rdf#specimens" sortResource2="http://www.some-fictitious-zoo.com/rdf#name">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals" sortDirection="ascending" sort="?specimens ?name" sortResource="http://www.some-fictitious-zoo.com/rdf#specimens" sortResource2="http://www.some-fictitious-zoo.com/rdf#name">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimens" object="?specimens"/>
 </query>
 <rule>
--- a/content/xul/templates/tests/chrome/test_tmpl_sortascendingtworuleswithcontainerquerysyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_sortascendingtworuleswithcontainerquerysyntax.xul
@@ -47,17 +47,17 @@ var expectedOutput =
     <label value="Polar Bear"/>
   </hbox>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals" sortDirection="ascending" sort="?specimens ?name" sortResource="http://www.some-fictitious-zoo.com/rdf#specimens" sortResource2="http://www.some-fictitious-zoo.com/rdf#name">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals" sortDirection="ascending" sort="?specimens ?name" sortResource="http://www.some-fictitious-zoo.com/rdf#specimens" sortResource2="http://www.some-fictitious-zoo.com/rdf#name">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimens" object="?specimens"/>
 </query>
 <rule>
--- a/content/xul/templates/tests/chrome/test_tmpl_sortascendingtworuleswithdifferentcontainerquerysyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_sortascendingtworuleswithdifferentcontainerquerysyntax.xul
@@ -49,17 +49,17 @@ var expectedOutput =
   <button id="http://www.some-fictitious-zoo.com/mammals/llama" label="LLAMA"/>
   <button id="http://www.some-fictitious-zoo.com/mammals/africanelephant" label="African Elephant"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals" sortDirection="ascending" sort="?specimens ?name" sortResource="http://www.some-fictitious-zoo.com/rdf#specimens" sortResource2="http://www.some-fictitious-zoo.com/rdf#name">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals" sortDirection="ascending" sort="?specimens ?name" sortResource="http://www.some-fictitious-zoo.com/rdf#specimens" sortResource2="http://www.some-fictitious-zoo.com/rdf#name">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimens" object="?specimens"/>
 </query>
 <rule>
--- a/content/xul/templates/tests/chrome/test_tmpl_sortdescendingquerysyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_sortdescendingquerysyntax.xul
@@ -94,17 +94,17 @@ var changes = [
     targetds.Assert(RDF.GetResource(ZOO_NS + 'mammals/koala'),
                     RDF.GetResource(ZOO_NS + 'rdf#specimensAsString'),
                     RDF.GetLiteral('8'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals" sort="?name" sortDirection="descending">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals" sort="?name" sortDirection="descending">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <action id="action">
 <label uri="?animal" value="?name"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_sortquerymemberandtwotriples.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_sortquerymemberandtwotriples.xul
@@ -37,17 +37,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/polarbear" value="Polar Bear"/>
   <label id="http://www.some-fictitious-zoo.com/arachnids/tarantula" value="Tarantula"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/humans" sortDirection="ascending" sort="?name" sortResource="http://www.some-fictitious-zoo.com/rdf#specimens" sortResource2="http://www.some-fictitious-zoo.com/rdf#name">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/humans" sortDirection="ascending" sort="?name" sortResource="http://www.some-fictitious-zoo.com/rdf#specimens" sortResource2="http://www.some-fictitious-zoo.com/rdf#name">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?human"/>
 <triple subject="?human" predicate="http://www.some-fictitious-zoo.com/rdf#favoriteAnimal" object="?child"/>
 <triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <action>
--- a/content/xul/templates/tests/chrome/test_tmpl_sortresource2descendingsimplesyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_sortresource2descendingsimplesyntax.xul
@@ -39,15 +39,15 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/aardvark" value="aardvark"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals" sortDirection="descending" sort="http://www.some-fictitious-zoo.com/rdf#specimens http://www.some-fictitious-zoo.com/rdf#name" sortResource="http://www.some-fictitious-zoo.com/rdf#specimens" sortResource2="http://www.some-fictitious-zoo.com/rdf#name">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals" sortDirection="descending" sort="http://www.some-fictitious-zoo.com/rdf#specimens http://www.some-fictitious-zoo.com/rdf#name" sortResource="http://www.some-fictitious-zoo.com/rdf#specimens" sortResource2="http://www.some-fictitious-zoo.com/rdf#name">
 <template id="template">
 <label uri="rdf:*" value="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_sortresource2settopredicateascendingquerysyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_sortresource2settopredicateascendingquerysyntax.xul
@@ -39,17 +39,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/africanelephant" value="African Elephant"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/polarbear" value="Polar Bear"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals" sortResource="http://www.some-fictitious-zoo.com/rdf#specimens" sortDirection="ascending" sortResource2="http://www.some-fictitious-zoo.com/rdf#name">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals" sortResource="http://www.some-fictitious-zoo.com/rdf#specimens" sortDirection="ascending" sortResource2="http://www.some-fictitious-zoo.com/rdf#name">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <action id="action">
 <label uri="?animal" value="?name"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_sortresource2settopredicatedescendingquerysyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_sortresource2settopredicatedescendingquerysyntax.xul
@@ -39,17 +39,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/aardvark" value="aardvark"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals" sortResource="http://www.some-fictitious-zoo.com/rdf#specimens" sortDirection="descending" sortResource2="http://www.some-fictitious-zoo.com/rdf#name">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals" sortResource="http://www.some-fictitious-zoo.com/rdf#specimens" sortDirection="descending" sortResource2="http://www.some-fictitious-zoo.com/rdf#name">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <action id="action">
 <label uri="?animal" value="?name"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_sortresourceascendingquerysyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_sortresourceascendingquerysyntax.xul
@@ -39,17 +39,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/polarbear" value="Polar Bear"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals" sortResource="?name" sortDirection="ascending">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals" sortResource="?name" sortDirection="ascending">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <action id="action">
 <label uri="?animal" value="?name"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_sortresourcedescendingquerysyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_sortresourcedescendingquerysyntax.xul
@@ -39,17 +39,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/africanelephant" value="African Elephant"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/aardvark" value="aardvark"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals" sortResource="?name" sortDirection="descending">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals" sortResource="?name" sortDirection="descending">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <action id="action">
 <label uri="?animal" value="?name"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_sortresourcesettopredicateascendingquerysyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_sortresourcesettopredicateascendingquerysyntax.xul
@@ -39,17 +39,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/africanelephant" value="African Elephant"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/polarbear" value="Polar Bear"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals" sortResource="http://www.some-fictitious-zoo.com/rdf#specimens" sortDirection="ascending">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals" sortResource="http://www.some-fictitious-zoo.com/rdf#specimens" sortDirection="ascending">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <action id="action">
 <label uri="?animal" value="?name"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_sortresourcesettopredicatedescendingquerysyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_sortresourcesettopredicatedescendingquerysyntax.xul
@@ -39,17 +39,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/hippopotamus" value="HIPPOPOTAMUS"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals" sortResource="http://www.some-fictitious-zoo.com/rdf#specimens" sortDirection="descending">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals" sortResource="http://www.some-fictitious-zoo.com/rdf#specimens" sortDirection="descending">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <action id="action">
 <label uri="?animal" value="?name"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_sorttworesourcesasstringsettopredicatedescendingquerysyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_sorttworesourcesasstringsettopredicatedescendingquerysyntax.xul
@@ -39,17 +39,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/africanelephant" value="African Elephant"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals" sortDirection="descending" sort="http://www.some-fictitious-zoo.com/rdf#specimensAsString http://www.some-fictitious-zoo.com/rdf#name">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals" sortDirection="descending" sort="http://www.some-fictitious-zoo.com/rdf#specimensAsString http://www.some-fictitious-zoo.com/rdf#name">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <action id="action">
 <label uri="?animal" value="?name"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_sorttworesourcessettopredicateascendingquerysyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_sorttworesourcessettopredicateascendingquerysyntax.xul
@@ -39,17 +39,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/africanelephant" value="African Elephant"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/polarbear" value="Polar Bear"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals" sortDirection="ascending" sort="http://www.some-fictitious-zoo.com/rdf#specimens http://www.some-fictitious-zoo.com/rdf#name">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals" sortDirection="ascending" sort="http://www.some-fictitious-zoo.com/rdf#specimens http://www.some-fictitious-zoo.com/rdf#name">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <action id="action">
 <label uri="?animal" value="?name"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_sorttwovariablesascendingquerysyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_sorttwovariablesascendingquerysyntax.xul
@@ -94,17 +94,17 @@ var changes = [
     targetds.Assert(RDF.GetResource(ZOO_NS + 'mammals/koala'),
                     RDF.GetResource(ZOO_NS + 'rdf#specimensAsString'),
                     RDF.GetLiteral('8'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals" sortDirection="ascending" sort="?specimens ?name">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals" sortDirection="ascending" sort="?specimens ?name">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <bindings>
--- a/content/xul/templates/tests/chrome/test_tmpl_sorttwovariablesascendingsimplesyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_sorttwovariablesascendingsimplesyntax.xul
@@ -39,15 +39,15 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/africanelephant" value="African Elephant"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/polarbear" value="Polar Bear"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals" sortDirection="ascending" sort="http://www.some-fictitious-zoo.com/rdf#specimens http://www.some-fictitious-zoo.com/rdf#name">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals" sortDirection="ascending" sort="http://www.some-fictitious-zoo.com/rdf#specimens http://www.some-fictitious-zoo.com/rdf#name">
 <template id="template">
 <label uri="rdf:*" value="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </template>
 </vbox>
 
 </window>
--- a/content/xul/templates/tests/chrome/test_tmpl_sorttwovariablesdescendingquerysyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_sorttwovariablesdescendingquerysyntax.xul
@@ -39,17 +39,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/aardvark" value="aardvark"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals" sortDirection="descending" sort="?specimens ?name">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals" sortDirection="descending" sort="?specimens ?name">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <bindings>
--- a/content/xul/templates/tests/chrome/test_tmpl_sortunknownascendingquerysyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_sortunknownascendingquerysyntax.xul
@@ -39,17 +39,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="Gorilla"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals" sort="?other">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals" sort="?other">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <action id="action">
 <label uri="?animal" value="?name"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntax.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntax.xul
@@ -122,17 +122,17 @@ var changes = [
     targetds.Change(RDF.GetResource(ZOO_NS + 'birds/raven'),
                     RDF.GetResource(ZOO_NS + 'rdf#name'),
                     oldval, RDF.GetLiteral('Crow'));
   }
 ];
 ]]>
 </script>
 
-<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="animals.rdf" flags="" id="root" ref="http://www.some-fictitious-zoo.com/birds">
+<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="rdf:null" flags="" id="root" ref="http://www.some-fictitious-zoo.com/birds">
 <treecols orient="horizontal" id="treecols">
 <treecol id="treecol" primary="true" label="Name"/>
 <treecol label="Species"/>
 </treecols>
 <template id="template">
 <query>
 <content uri="?uri"/>
 <member container="?uri" child="?child"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxnotrecursive.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxnotrecursive.xul
@@ -112,17 +112,17 @@ var changes = [
   function(targetds, root) {
     if (root.view && 1 < root.view.rowCount  && root.view.isContainer(1))
     root.view.toggleOpenState(1);
   }
 ];
 ]]>
 </script>
 
-<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/marked" flags="dont-recurse" id="root">
+<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/marked" flags="dont-recurse" id="root">
 <treecols orient="horizontal" id="treecols">
 <treecol id="treecol" primary="true" label="Name"/>
 <treecol label="Species"/>
 </treecols>
 <template id="template">
 <query>
 <content uri="?uri"/>
 <member container="?uri" child="?child"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxnotrecursivetreebuilder.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxnotrecursivetreebuilder.xul
@@ -112,17 +112,17 @@ var changes = [
   function(targetds, root) {
     if (root.view && 1 < root.view.rowCount  && root.view.isContainer(1))
     root.view.toggleOpenState(1);
   }
 ];
 ]]>
 </script>
 
-<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/marked" flags="dont-recurse dont-build-content" id="root">
+<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/marked" flags="dont-recurse dont-build-content" id="root">
 <treecols orient="horizontal" id="treecols">
 <treecol id="treecol" primary="true" label="Name"/>
 <treecol label="Species"/>
 </treecols>
 <template id="template">
 <query>
 <content uri="?uri"/>
 <member container="?uri" child="?child"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursive.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursive.xul
@@ -182,17 +182,17 @@ var changes = [
   function(targetds, root) {
     if (root.view && 1 < root.view.rowCount  && root.view.isContainer(1))
     root.view.toggleOpenState(1);
   }
 ];
 ]]>
 </script>
 
-<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/marked" id="root">
+<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/marked" id="root">
 <treecols orient="horizontal" id="treecols">
 <treecol id="treecol" primary="true" label="Name"/>
 <treecol label="Species"/>
 </treecols>
 <template id="template">
 <query>
 <content uri="?uri"/>
 <member container="?uri" child="?child"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivemultiplerules.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivemultiplerules.xul
@@ -220,17 +220,17 @@ var changes = [
     if (root.view && 1 < root.view.rowCount  && root.view.isContainer(1))
     root.view.toggleOpenState(1);
   }
 ];
 ]]>
 </script>
 
 <tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true"
-      flags="logging" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/marked" id="root">
+      flags="logging" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/marked" id="root">
 <treecols orient="horizontal" id="treecols">
 <treecol id="treecol" primary="true" label="Name"/>
 <treecol label="Species"/>
 </treecols>
 <template id="template">
 <query>
 <content uri="?uri"/>
 <member container="?uri" child="?child"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivemultiplerulestreebuilder.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivemultiplerulestreebuilder.xul
@@ -182,17 +182,17 @@ var changes = [
   function(targetds, root) {
     if (root.view && 1 < root.view.rowCount  && root.view.isContainer(1))
     root.view.toggleOpenState(1);
   }
 ];
 ]]>
 </script>
 
-<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/marked" flags=" dont-build-content" id="root">
+<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/marked" flags=" dont-build-content" id="root">
 <treecols orient="horizontal" id="treecols">
 <treecol id="treecol" primary="true" label="Name"/>
 <treecol label="Species"/>
 </treecols>
 <template id="template">
 <query>
 <content uri="?uri"/>
 <member container="?uri" child="?child"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivetreebuilder.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxrecursivetreebuilder.xul
@@ -182,17 +182,17 @@ var changes = [
   function(targetds, root) {
     if (root.view && 1 < root.view.rowCount  && root.view.isContainer(1))
     root.view.toggleOpenState(1);
   }
 ];
 ]]>
 </script>
 
-<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/marked" flags=" dont-build-content" id="root">
+<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/marked" flags=" dont-build-content" id="root">
 <treecols orient="horizontal" id="treecols">
 <treecol id="treecol" primary="true" label="Name"/>
 <treecol label="Species"/>
 </treecols>
 <template id="template">
 <query>
 <content uri="?uri"/>
 <member container="?uri" child="?child"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxtreebuilder.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_treeelementquerysyntaxtreebuilder.xul
@@ -122,17 +122,17 @@ var changes = [
     targetds.Change(RDF.GetResource(ZOO_NS + 'birds/raven'),
                     RDF.GetResource(ZOO_NS + 'rdf#name'),
                     oldval, RDF.GetLiteral('Crow'));
   }
 ];
 ]]>
 </script>
 
-<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="animals.rdf" flags="dont-build-content" id="root" ref="http://www.some-fictitious-zoo.com/birds">
+<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="rdf:null" flags="dont-build-content" id="root" ref="http://www.some-fictitious-zoo.com/birds">
 <treecols orient="horizontal" id="treecols">
 <treecol id="treecol" primary="true" label="Name"/>
 <treecol label="Species"/>
 </treecols>
 <template id="template">
 <query>
 <content uri="?uri"/>
 <member container="?uri" child="?child"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxnotrecursive.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxnotrecursive.xul
@@ -112,17 +112,17 @@ var changes = [
   function(targetds, root) {
     if (root.view && 1 < root.view.rowCount  && root.view.isContainer(1))
     root.view.toggleOpenState(1);
   }
 ];
 ]]>
 </script>
 
-<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="animals.rdf" flags="dont-recurse" ref="http://www.some-fictitious-zoo.com/marked" id="root">
+<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="rdf:null" flags="dont-recurse" ref="http://www.some-fictitious-zoo.com/marked" id="root">
 <treecols orient="horizontal" id="treecols">
 <treecol id="treecol" primary="true" label="Name"/>
 <treecol label="Species"/>
 </treecols>
 <template id="template">
 <treechildren>
 <treeitem uri="rdf:*">
 <treerow>
--- a/content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxnotrecursivetreebuilder.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxnotrecursivetreebuilder.xul
@@ -112,17 +112,17 @@ var changes = [
   function(targetds, root) {
     if (root.view && 1 < root.view.rowCount  && root.view.isContainer(1))
     root.view.toggleOpenState(1);
   }
 ];
 ]]>
 </script>
 
-<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="animals.rdf" flags="dont-recurse dont-build-content" ref="http://www.some-fictitious-zoo.com/marked" id="root">
+<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="rdf:null" flags="dont-recurse dont-build-content" ref="http://www.some-fictitious-zoo.com/marked" id="root">
 <treecols orient="horizontal" id="treecols">
 <treecol id="treecol" primary="true" label="Name"/>
 <treecol label="Species"/>
 </treecols>
 <template id="template">
 <treechildren>
 <treeitem uri="rdf:*">
 <treerow>
--- a/content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxrecursive.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxrecursive.xul
@@ -182,17 +182,17 @@ var changes = [
   function(targetds, root) {
     if (root.view && 1 < root.view.rowCount  && root.view.isContainer(1))
     root.view.toggleOpenState(1);
   }
 ];
 ]]>
 </script>
 
-<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="animals.rdf" flags="" ref="http://www.some-fictitious-zoo.com/marked" id="root">
+<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="rdf:null" flags="" ref="http://www.some-fictitious-zoo.com/marked" id="root">
 <treecols orient="horizontal" id="treecols">
 <treecol id="treecol" primary="true" label="Name"/>
 <treecol label="Species"/>
 </treecols>
 <template id="template">
 <treechildren>
 <treeitem uri="rdf:*">
 <treerow>
--- a/content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxrecursivetreebuilder.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_treeelementsimplesyntaxrecursivetreebuilder.xul
@@ -182,17 +182,17 @@ var changes = [
   function(targetds, root) {
     if (root.view && 1 < root.view.rowCount  && root.view.isContainer(1))
     root.view.toggleOpenState(1);
   }
 ];
 ]]>
 </script>
 
-<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="animals.rdf" flags="dont-build-content" ref="http://www.some-fictitious-zoo.com/marked" id="root">
+<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="rdf:null" flags="dont-build-content" ref="http://www.some-fictitious-zoo.com/marked" id="root">
 <treecols orient="horizontal" id="treecols">
 <treecol id="treecol" primary="true" label="Name"/>
 <treecol label="Species"/>
 </treecols>
 <template id="template">
 <treechildren>
 <treeitem uri="rdf:*">
 <treerow>
--- a/content/xul/templates/tests/chrome/test_tmpl_treeelementtreecell.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_treeelementtreecell.xul
@@ -109,17 +109,17 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds" hidevscroll="true" hidehscroll="true">
+<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds" hidevscroll="true" hidehscroll="true">
 <treecols orient="horizontal" id="treecols">
 <treecol id="treecol" primary="true" label="Name" ordinal="1"/>
 <treecol label="Species" ordinal="3"/>
 </treecols>
 <template id="template">
 <treechildren id="treechildren">
 <treeitem uri="rdf:*">
 <treerow>
--- a/content/xul/templates/tests/chrome/test_tmpl_treeelementtreecellsortascending.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_treeelementtreecellsortascending.xul
@@ -109,17 +109,17 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="animals.rdf" flags="" sort="rdf:http://www.some-fictitious-zoo.com/rdf#name" sortDirection="ascending" id="root" ref="http://www.some-fictitious-zoo.com/birds">
+<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="rdf:null" flags="" sort="rdf:http://www.some-fictitious-zoo.com/rdf#name" sortDirection="ascending" id="root" ref="http://www.some-fictitious-zoo.com/birds">
 <treecols orient="horizontal" id="treecols">
 <treecol id="treecol" primary="true" label="Name" ordinal="1" sort="rdf:http://www.some-fictitious-zoo.com/rdf#name" sortDirection="ascending" sortActive="true"/>
 <treecol label="Species" ordinal="3"/>
 </treecols>
 <template id="template">
 <treechildren id="treechildren">
 <treeitem uri="rdf:*">
 <treerow>
--- a/content/xul/templates/tests/chrome/test_tmpl_treeelementtreecellsortascendingtreebuilder.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_treeelementtreecellsortascendingtreebuilder.xul
@@ -109,17 +109,17 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="animals.rdf" flags="dont-build-content" sort="rdf:http://www.some-fictitious-zoo.com/rdf#name" sortDirection="ascending" id="root" ref="http://www.some-fictitious-zoo.com/birds">
+<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="rdf:null" flags="dont-build-content" sort="rdf:http://www.some-fictitious-zoo.com/rdf#name" sortDirection="ascending" id="root" ref="http://www.some-fictitious-zoo.com/birds">
 <treecols orient="horizontal" id="treecols">
 <treecol id="treecol" primary="true" label="Name" ordinal="1" sort="rdf:http://www.some-fictitious-zoo.com/rdf#name" sortDirection="ascending" sortActive="true"/>
 <treecol label="Species" ordinal="3"/>
 </treecols>
 <template id="template">
 <treechildren id="treechildren">
 <treeitem uri="rdf:*">
 <treerow>
--- a/content/xul/templates/tests/chrome/test_tmpl_treeelementtreecelltreebuilder.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_treeelementtreecelltreebuilder.xul
@@ -109,17 +109,17 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="animals.rdf" flags="dont-build-content" id="root" ref="http://www.some-fictitious-zoo.com/birds">
+<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="rdf:null" flags="dont-build-content" id="root" ref="http://www.some-fictitious-zoo.com/birds">
 <treecols orient="horizontal" id="treecols">
 <treecol id="treecol" primary="true" label="Name" ordinal="1"/>
 <treecol label="Species" ordinal="3"/>
 </treecols>
 <template id="template">
 <treechildren id="treechildren">
 <treeitem uri="rdf:*">
 <treerow>
--- a/content/xul/templates/tests/chrome/test_tmpl_treeelementtreeitemonly.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_treeelementtreeitemonly.xul
@@ -78,17 +78,17 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds" hidevscroll="true" hidehscroll="true">
+<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds" hidevscroll="true" hidehscroll="true">
 <treecols orient="horizontal" id="treecols">
 <treecol id="treecol" primary="true" label="Name"/>
 </treecols>
 <template id="template">
 <treechildren id="treechildren">
 <treeitem uri="rdf:*" label="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </treechildren>
 </template>
--- a/content/xul/templates/tests/chrome/test_tmpl_treeelementtreeitemsortascending.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_treeelementtreeitemsortascending.xul
@@ -78,17 +78,17 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="animals.rdf" sort="rdf:http://www.some-fictitious-zoo.com/rdf#name" sortDirection="ascending" id="root" ref="http://www.some-fictitious-zoo.com/birds">
+<tree xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" hidevscroll="true" hidehscroll="true" datasources="rdf:null" sort="rdf:http://www.some-fictitious-zoo.com/rdf#name" sortDirection="ascending" id="root" ref="http://www.some-fictitious-zoo.com/birds">
 <treecols orient="horizontal" id="treecols">
 <treecol id="treecol" primary="true" label="Name" ordinal="1" sort="rdf:http://www.some-fictitious-zoo.com/rdf#name" sortDirection="ascending" sortActive="true"/>
 </treecols>
 <template id="template">
 <treechildren id="treechildren">
 <treeitem uri="rdf:*" label="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
 </treechildren>
 </template>
--- a/content/xul/templates/tests/chrome/test_tmpl_twogenerationnodes.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_twogenerationnodes.xul
@@ -79,17 +79,17 @@ var changes = [
     var removednode = container.RemoveElementAt('3', true);
     targetds.Unassert(removednode, RDF.GetResource(ZOO_NS + 'rdf#name'),
                       RDF.GetLiteral('Barn Owl'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/birds">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/birds">
 <template>
 <query>
 <content uri="?uri"/>
 <member container="?uri" child="?child"/>
 <triple subject="?child" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <action>
 <button uri="?child" label="?name"/>
--- a/content/xul/templates/tests/chrome/test_tmpl_whereafterignorecase.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_whereafterignorecase.xul
@@ -35,17 +35,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/polarbear" value="Polar Bear"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_whereafterlowercase.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_whereafterlowercase.xul
@@ -38,17 +38,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="Gorilla"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_whereafternegation.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_whereafternegation.xul
@@ -34,17 +34,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/aardvark" value="aardvark"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="Gorilla"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_whereafteruppercase.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_whereafteruppercase.xul
@@ -35,17 +35,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/polarbear" value="Polar Bear"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherebeforeignorecase.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherebeforeignorecase.xul
@@ -35,17 +35,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/aardvark" value="aardvark"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="Gorilla"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherebeforelowercase.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherebeforelowercase.xul
@@ -39,17 +39,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="Gorilla"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherebeforenegation.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherebeforenegation.xul
@@ -33,17 +33,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/polarbear" value="Polar Bear"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherebeforeuppercase.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherebeforeuppercase.xul
@@ -34,17 +34,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/aardvark" value="aardvark"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="Gorilla"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherecontains.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherecontains.xul
@@ -88,17 +88,17 @@ var changes = [
     targetds.Assert(RDF.GetResource(ZOO_NS + 'mammals/koala'),
                     RDF.GetResource(ZOO_NS + 'rdf#specimensAsString'),
                     RDF.GetLiteral('8'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherecontainsignorecase.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherecontainsignorecase.xul
@@ -34,17 +34,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/africanelephant" value="African Elephant"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/polarbear" value="Polar Bear"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherecontainsnegation.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherecontainsnegation.xul
@@ -34,17 +34,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/hippopotamus" value="HIPPOPOTAMUS"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/llama" value="LLAMA"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherecontainsnumber.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherecontainsnumber.xul
@@ -34,17 +34,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/polarbear" value="20"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/aardvark" value="2"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimens" object="?specimens"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherecontainsnumberstring.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherecontainsnumberstring.xul
@@ -34,17 +34,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/polarbear" value="20"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/aardvark" value="2"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimensAsString" object="?specimens"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherecontainsresource.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherecontainsresource.xul
@@ -32,17 +32,17 @@ var expectedOutput =
 <output>
   <label id="http://www.some-fictitious-zoo.com/mammals/llama" value="LLAMA"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherecontainstwo.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherecontainstwo.xul
@@ -87,17 +87,17 @@ var changes = [
     targetds.Assert(RDF.GetResource(ZOO_NS + 'mammals/koala'),
                     RDF.GetResource(ZOO_NS + 'rdf#specimensAsString'),
                     RDF.GetLiteral('8'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_whereendswith.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_whereendswith.xul
@@ -30,17 +30,17 @@ var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
 <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="Gorilla"/>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_whereendswithignorecase.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_whereendswithignorecase.xul
@@ -33,17 +33,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/llama" value="LLAMA"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="Gorilla"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_whereendswithnegation.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_whereendswithnegation.xul
@@ -38,17 +38,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="Gorilla"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_whereequals.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_whereequals.xul
@@ -84,17 +84,17 @@ var changes = [
     targetds.Assert(RDF.GetResource(ZOO_NS + 'mammals/koala'),
                     RDF.GetResource(ZOO_NS + 'rdf#specimensAsString'),
                     RDF.GetLiteral('8'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_whereequalsignorecase.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_whereequalsignorecase.xul
@@ -30,17 +30,17 @@ var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
 <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="Gorilla"/>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_whereequalsmultiple.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_whereequalsmultiple.xul
@@ -33,17 +33,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/lion" value="Lion"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="Gorilla"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_whereequalsmultiplenegation.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_whereequalsmultiplenegation.xul
@@ -100,17 +100,17 @@ var changes = [
                     RDF.GetResource(ZOO_NS + 'rdf#specimensAsString'),
                     RDF.GetLiteral('8'), true);
   }
 ];
 ]]>
 </script>
 
 <vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" flags="logging"
-      datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+      datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_whereequalsmultiplenegationignorecase.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_whereequalsmultiplenegationignorecase.xul
@@ -35,17 +35,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="Gorilla"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_whereequalsnegation.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_whereequalsnegation.xul
@@ -38,17 +38,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="Gorilla"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_whereequalsnegationignorecase.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_whereequalsnegationignorecase.xul
@@ -38,17 +38,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="Gorilla"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_whereequalsnegationwrongcase.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_whereequalsnegationwrongcase.xul
@@ -39,17 +39,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="Gorilla"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_whereequalsnumber.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_whereequalsnumber.xul
@@ -33,17 +33,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/hippopotamus" value="2"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/aardvark" value="2"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimens" object="?specimens"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_whereequalsothervariable.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_whereequalsothervariable.xul
@@ -39,17 +39,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="Gorilla"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?othername"/>
 </query>
 <rule id="rule">
--- a/content/xul/templates/tests/chrome/test_tmpl_whereequalsresource.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_whereequalsresource.xul
@@ -32,17 +32,17 @@ var expectedOutput =
 <output>
   <label id="http://www.some-fictitious-zoo.com/mammals/polarbear" value="Polar Bear"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_whereequalssamevariable.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_whereequalssamevariable.xul
@@ -39,17 +39,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="Gorilla"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_whereequalswrongcase.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_whereequalswrongcase.xul
@@ -30,17 +30,17 @@ var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
 <output/>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wheregreater.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wheregreater.xul
@@ -35,17 +35,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/polarbear" value="20"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="7"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimens" object="?specimens"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wheregreaternegation.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wheregreaternegation.xul
@@ -35,17 +35,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/aardvark" value="2"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="1"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimens" object="?specimens"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wheregreaternegationstring.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wheregreaternegationstring.xul
@@ -35,17 +35,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/aardvark" value="2"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="1"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimensAsString" object="?specimens"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wheregreaterstring.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wheregreaterstring.xul
@@ -88,17 +88,17 @@ var changes = [
     targetds.Assert(RDF.GetResource(ZOO_NS + 'mammals/koala'),
                     RDF.GetResource(ZOO_NS + 'rdf#specimensAsString'),
                     RDF.GetLiteral('8'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimensAsString" object="?specimens"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_whereless.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_whereless.xul
@@ -37,17 +37,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="1"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="7"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimens" object="?specimens"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherelessnegation.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherelessnegation.xul
@@ -36,17 +36,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/polarbear" value="20"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="7"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimens" object="?specimens"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherelessnegationstring.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherelessnegationstring.xul
@@ -36,17 +36,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/polarbear" value="20"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="7"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimensAsString" object="?specimens"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherelessstring.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherelessstring.xul
@@ -37,17 +37,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="1"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="7"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#specimensAsString" object="?specimens"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherenorel.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherenorel.xul
@@ -17,19 +17,20 @@
   <body xmlns="http://www.w3.org/1999/xhtml" style="height: 300px; overflow: auto;"/>
 
 <script src="templates_shared.js"/>
 
 <script>
 <![CDATA[
 SimpleTest.waitForExplicitFinish();
 
-Components.classes["@mozilla.org/consoleservice;1"].
-           getService(Components.interfaces.nsIConsoleService).reset();
-expectedConsoleMessages.push("Error parsing template: <where> element is missing a rel attribute");
+expectLoggedMessages = function()
+{
+  expectedConsoleMessages.push("Error parsing template: <where> element is missing a rel attribute");
+}
 
 var testid ="where - no rel";
 var queryType = "rdf";
 var isTreeBuilder = false;
 var needsOpen = false;
 var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
@@ -43,17 +44,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="Gorilla"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherenosubject.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherenosubject.xul
@@ -17,19 +17,20 @@
   <body xmlns="http://www.w3.org/1999/xhtml" style="height: 300px; overflow: auto;"/>
 
 <script src="templates_shared.js"/>
 
 <script>
 <![CDATA[
 SimpleTest.waitForExplicitFinish();
 
-Components.classes["@mozilla.org/consoleservice;1"].
-           getService(Components.interfaces.nsIConsoleService).reset();
-expectedConsoleMessages.push("Error parsing template: <where> element is missing a subject attribute");
+expectLoggedMessages = function()
+{
+  expectedConsoleMessages.push("Error parsing template: <where> element is missing a subject attribute");
+}
 
 var testid ="where - no subject";
 var queryType = "rdf";
 var isTreeBuilder = false;
 var needsOpen = false;
 var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
@@ -43,17 +44,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="Gorilla"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherenovalue.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherenovalue.xul
@@ -17,19 +17,20 @@
   <body xmlns="http://www.w3.org/1999/xhtml" style="height: 300px; overflow: auto;"/>
 
 <script src="templates_shared.js"/>
 
 <script>
 <![CDATA[
 SimpleTest.waitForExplicitFinish();
 
-Components.classes["@mozilla.org/consoleservice;1"].
-           getService(Components.interfaces.nsIConsoleService).reset();
-expectedConsoleMessages.push("Error parsing template: <where> element is missing a value attribute");
+expectLoggedMessages = function()
+{
+  expectedConsoleMessages.push("Error parsing template: <where> element is missing a value attribute");
+}
 
 var testid ="where - no value";
 var queryType = "rdf";
 var isTreeBuilder = false;
 var needsOpen = false;
 var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
@@ -43,17 +44,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="Gorilla"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherestartswith.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherestartswith.xul
@@ -81,17 +81,17 @@ var changes = [
     targetds.Assert(RDF.GetResource(ZOO_NS + 'mammals/koala'),
                     RDF.GetResource(ZOO_NS + 'rdf#specimensAsString'),
                     RDF.GetLiteral('8'), true);
   }
 ];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherestartswithignorecase.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherestartswithignorecase.xul
@@ -33,17 +33,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/africanelephant" value="African Elephant"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/aardvark" value="aardvark"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherestartswithmultiple.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherestartswithmultiple.xul
@@ -34,17 +34,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/africanelephant" value="African Elephant"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/llama" value="LLAMA"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherestartswithnegation.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherestartswithnegation.xul
@@ -37,17 +37,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="Gorilla"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherestartswithunknownvariable.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherestartswithunknownvariable.xul
@@ -30,17 +30,17 @@ var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
 <output/>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wherestartswithvariable.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wherestartswithvariable.xul
@@ -39,17 +39,17 @@ var expectedOutput =
   <label id="http://www.some-fictitious-zoo.com/mammals/ninebandedarmadillo" value="Nine-banded Armadillo"/>
   <label id="http://www.some-fictitious-zoo.com/mammals/gorilla" value="Gorilla"/>
 </output>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wheresubjectequalsvariable.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wheresubjectequalsvariable.xul
@@ -30,17 +30,17 @@ var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
 <label id="http://www.some-fictitious-zoo.com/mammals/africanelephant" value="African Elephant"/>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">
--- a/content/xul/templates/tests/chrome/test_tmpl_wheresubjectstartswithvariable.xul
+++ b/content/xul/templates/tests/chrome/test_tmpl_wheresubjectstartswithvariable.xul
@@ -30,17 +30,17 @@ var notWorkingYet = false;
 var notWorkingYetDynamic = false;
 var expectedOutput =
 <label id="http://www.some-fictitious-zoo.com/mammals/africanelephant" value="African Elephant"/>;
 
 var changes = [];
 ]]>
 </script>
 
-<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/mammals">
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root" datasources="rdf:null" ref="http://www.some-fictitious-zoo.com/mammals">
 <template id="template">
 <query id="query">
 <content uri="?uri"/>
 <member container="?uri" child="?animal"/>
 <triple subject="?animal" predicate="http://www.some-fictitious-zoo.com/rdf#name" object="?name"/>
 </query>
 <rule>
 <conditions id="conditions">