You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by sb...@apache.org on 2001/01/03 11:08:13 UTC
cvs commit: xml-xalan/java/src/org/apache/xalan/xslt Process.java
sboag 01/01/03 02:08:13
Modified: java/src/org/apache/xalan/xslt Process.java
Log:
Fix -flavor d2d, so that it more closely mirrors Shane's code.
Revision Changes Path
1.24 +22 -6 xml-xalan/java/src/org/apache/xalan/xslt/Process.java
Index: Process.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xslt/Process.java,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- Process.java 2000/12/21 05:04:11 1.23
+++ Process.java 2001/01/03 10:08:12 1.24
@@ -320,7 +320,7 @@
}
else if ("-FLAVOR".equalsIgnoreCase(argv[i]))
{
- if (i + 2 < argv.length)
+ if (i + 1 < argv.length)
{
flavor = argv[++i];
}
@@ -441,10 +441,24 @@
{
dumpWriter = new PrintWriter(new FileWriter(dumpFileName));
}
-
- Templates stylesheet =
- (null != xslFileName)
- ? tfactory.newTemplates(new StreamSource(xslFileName)) : null;
+ Templates stylesheet = null;
+ if(null != xslFileName)
+ {
+ if(flavor.equals("d2d"))
+ {
+ // Parse in the xml data into a DOM
+ DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
+ dfactory.setNamespaceAware(true);
+ DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
+ Node xslDOM = docBuilder.parse(new InputSource(xslFileName));
+ stylesheet = tfactory.newTemplates(new DOMSource(xslDOM, xslFileName));
+ }
+ else
+ {
+ stylesheet = tfactory.newTemplates(new StreamSource(xslFileName));
+ }
+ }
+
PrintWriter resultWriter;
OutputStream outputStream = (null != outFileName)
? new FileOutputStream(outFileName)
@@ -515,11 +529,13 @@
DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
Node xmlDoc = docBuilder.parse(new InputSource(inFileName));
Document outNode = docBuilder.newDocument();
- transformer.transform(new DOMSource(xmlDoc),
+ transformer.transform(new DOMSource(xmlDoc, inFileName),
new DOMResult(outNode));
// Now serialize output to disk with identity transformer
Transformer serializer = stf.newTransformer();
+ Properties serializationProps = stylesheet.getOutputProperties();
+ serializer.setOutputProperties(serializationProps);
serializer.transform(new DOMSource(outNode),
new StreamResult(outputStream));
}