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));
              }