[Phoenix-commits] rev 15040 -
public/phoenix/trunk/phoenix/prototypes/prototype1/test/testpackage/chrome/content
andi at wyona.com
andi at wyona.com
Thu Jul 6 22:35:48 CEST 2006
Author: andi
Date: 2006-07-06 22:35:46 +0200 (Thu, 06 Jul 2006)
New Revision: 15040
Modified:
public/phoenix/trunk/phoenix/prototypes/prototype1/test/testpackage/chrome/content/idcopier.xsl
public/phoenix/trunk/phoenix/prototypes/prototype1/test/testpackage/chrome/content/processingloop-test.xul
Log:
Add XSL imports at runtime.
Modified: public/phoenix/trunk/phoenix/prototypes/prototype1/test/testpackage/chrome/content/idcopier.xsl
===================================================================
--- public/phoenix/trunk/phoenix/prototypes/prototype1/test/testpackage/chrome/content/idcopier.xsl 2006-07-06 19:57:03 UTC (rev 15039)
+++ public/phoenix/trunk/phoenix/prototypes/prototype1/test/testpackage/chrome/content/idcopier.xsl 2006-07-06 20:35:46 UTC (rev 15040)
@@ -3,8 +3,6 @@
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
- <xsl:import href="helloworld.xsl"/>
-
<xsl:output method="xml" encoding="UTF-8"/>
<xsl:template match="text()|@*">
Modified: public/phoenix/trunk/phoenix/prototypes/prototype1/test/testpackage/chrome/content/processingloop-test.xul
===================================================================
--- public/phoenix/trunk/phoenix/prototypes/prototype1/test/testpackage/chrome/content/processingloop-test.xul 2006-07-06 19:57:03 UTC (rev 15039)
+++ public/phoenix/trunk/phoenix/prototypes/prototype1/test/testpackage/chrome/content/processingloop-test.xul 2006-07-06 20:35:46 UTC (rev 15040)
@@ -16,10 +16,12 @@
/* DEBUG */ dump("######## PhoenixTEST:processingloop-test.js:generateXHTML() invoked\n");
inputIframe = document.getElementById("iframe1");
- outputIframe = document.getElementById("iframe4");
+ outputIframe = document.getElementById("iframe5");
/* DEBUG */ dump("######## PhoenixTEST:processingloop-test.js:generateXHTML: input source =\n" + serialiseXML(inputIframe.contentDocument) + "\n");
+ insertXSLTImport(loadIDCopierXSLT(), "helloworld.xsl");
+
taggedDocument = transformXML(inputIframe.contentDocument, loadTaggerXSLT());
xhtmlDocument = transformXML(taggedDocument, loadIDCopierXSLT());
@@ -36,7 +38,24 @@
return document.getElementById("iframe3").contentDocument;
}
+function insertXSLTImport(aXStylesheetDocument, aImportURI) {
+ var rootNode = null;
+ var importNode = null;
+ // get root node
+ rootNode = aXStylesheetDocument.evaluate("xsl:stylesheet", aXStylesheetDocument, aXStylesheetDocument.createNSResolver(aXStylesheetDocument.documentElement), XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null).iterateNext();
+
+ /* DEBUG */ dump("######## PhoenixTEST:processingloop-test.js:insertXSLTImport: root node = \"" + rootNode + "\"\n");
+ /* DEBUG */ dump("######## PhoenixTEST:processingloop-test.js:insertXSLTImport: root node output =\n" + serialiseXML(rootNode) + "\n");
+
+ // add import statement
+ importNode = aXStylesheetDocument.createElementNS("http://www.w3.org/1999/XSL/Transform", "import");
+ importNode.setAttribute("href", aImportURI);
+ rootNode.insertBefore(importNode, rootNode.firstChild);
+
+ /* DEBUG */ dump("######## PhoenixTEST:processingloop-test.js:insertXSLTImport: root node output =\n" + serialiseXML(rootNode) + "\n");
+}
+
function transformXML(aDocument, aXStylesheetDocument) {
var xsltProcessor = null;
var transformedDocument = null;
@@ -53,8 +72,8 @@
}
-function serialiseXML(aDocument) {
- return (new XMLSerializer()).serializeToString(aDocument);
+function serialiseXML(aNode) {
+ return (new XMLSerializer()).serializeToString(aNode);
}
]]>
</script>
@@ -63,10 +82,11 @@
<vbox flex="1">
<iframe id="iframe1" src="chrome://test/content/helloworld.xml" flex="1" style="border: 1px solid black"/>
<iframe id="iframe2" src="chrome://test/content/sourcetagger.xsl" flex="1" style="border: 1px solid black"/>
+ <iframe id="iframe3" src="chrome://test/content/idcopier.xsl" flex="1" style="border: 1px solid black"/>
</vbox>
<vbox flex="1">
- <iframe id="iframe3" src="chrome://test/content/idcopier.xsl" flex="1" style="border: 1px solid black"/>
- <iframe id="iframe4" flex="1" style="border: 1px solid black"/>
+ <iframe id="iframe4" src="chrome://test/content/helloworld.xsl" flex="1" style="border: 1px solid black"/>
+ <iframe id="iframe5" flex="1" style="border: 1px solid black"/>
</vbox>
</window>
More information about the Phoenix-commits
mailing list