dleslie     00/05/05 12:03:50

  Modified:    c/samples/CompileStylesheet CompileStylesheet.cpp
  Added:       c/samples/CompileStylesheet foo1.xml foo10.xml foo2.xml
                        foo3.xml foo4.xml foo5.xml foo6.xml foo7.xml
                        foo8.xml foo9.xml
  Log:
  Modified CompileStylesheet to process 10 input files, using
  the XSLTEngineImpl process() method.
  
  Revision  Changes    Path
  1.2       +24 -48    
xml-xalan/c/samples/CompileStylesheet/CompileStylesheet.cpp
  
  Index: CompileStylesheet.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/samples/CompileStylesheet/CompileStylesheet.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CompileStylesheet.cpp     2000/04/27 21:53:07     1.1
  +++ CompileStylesheet.cpp     2000/05/05 19:03:49     1.2
  @@ -1,29 +1,17 @@
   #include <cassert>
   #include <fstream>
  -#include <fstream>
   #include <iostream>
   #include <strstream>
   
  -
  -
   #include <util/PlatformUtils.hpp>
   
  -
  -
   #include <PlatformSupport/DOMStringHelper.hpp>
  -
  -
  -
   #include <DOMSupport/DOMSupportDefault.hpp>
   
  -
  -
   #include <XPath/XObjectFactoryDefault.hpp>
   #include <XPath/XPathSupportDefault.hpp>
   #include <XPath/XPathFactoryDefault.hpp>
   
  -
  -
   #include <XSLT/StylesheetConstructionContextDefault.hpp>
   #include <XSLT/StylesheetExecutionContextDefault.hpp>
   #include <XSLT/StylesheetRoot.hpp>
  @@ -32,12 +20,8 @@
   #include <XSLT/XSLTProcessorEnvSupportDefault.hpp>
   #include <XSLT/XSLTResultTarget.hpp>
   
  -
  -
   #include <XercesParserLiaison/XercesParserLiaison.hpp>
   
  -
  -
   #include <XercesPlatformSupport/TextFileOutputStream.hpp>
   #include <XercesPlatformSupport/XercesDOMPrintWriter.hpp>
   
  @@ -59,7 +43,7 @@
   
        if (argc != 1)
        {
  -             cerr << "Usage: SimpleTransform"
  +             cerr << "Usage: CompileStylesheet"
                         << endl
                         << endl;
        }
  @@ -96,8 +80,8 @@
                        theProcessor.setFormatter(&theParserLiaison);
   
                        // Create separate factory support objects so the 
stylesheet's
  -                     // factory-created instances are independent from those 
of the
  -                     // processor's.
  +                     // factory-created XObject and XPath instances are 
independent 
  +      // from processor's.
                        XObjectFactoryDefault                   
theStylesheetXObjectFactory(
                                                theXSLTProcessorEnvSupport,
                                                theXPathSupport);
  @@ -113,7 +97,7 @@
   
                        // The execution context uses the same factory support 
objects as
                        // the processor, since those objects have the same 
lifetime as
  -                     // other objects created as a result of the exection.
  +                     // other objects created as a result of the execution.
                        StylesheetExecutionContextDefault               
theExecutionContext(
                                                theProcessor,
                                                theXSLTProcessorEnvSupport,
  @@ -122,8 +106,8 @@
   
                        // Our input files.  The assumption is that the 
executable will be run
                        // from same directory as the input files.
  -                     const DOMString         theXMLFileName("foo.xml");
  -                     const DOMString         theXSLFileName("foo.xsl");
  +                     const XalanDOMString            
theXMLFileName("foo.xml");
  +                     const XalanDOMString            
theXSLFileName("foo.xsl");
   
                        // Our stylesheet input source...
                        XSLTInputSource                 
theStylesheetSource(c_wstr(theXSLFileName));
  @@ -138,36 +122,28 @@
                                                        theConstructionContext);
                        assert(theStylesheetRoot != 0);
   
  -                     // Our source tree input source...
  -                     XSLTInputSource         
theInputSource(c_wstr(theXMLFileName));
  -
  -                     // Create the source tree...
  -                     XalanNode* const        theSourceTree =
  -                             
theProcessor.getSourceTreeFromInput(theInputSource);
  -                     assert(theSourceTree != 0);
  -
                        for (unsigned int i = 0; i < 10; i++)
                        {
  -                             // Generate a unique file name based on i...
  -                             ostrstream                      theFormatter;
  -
  -                             theFormatter << "foo" << i + 1 << ".out" << 
'\0';
  -
  -                             // Our output target is specified as a file 
name...
  -                             XSLTResultTarget        
theResultTarget(theFormatter.str());
  -
  -                             // Unfreeze the ostrstream, so the memory is 
returned...
  -                             theFormatter.freeze(false);
  +        // Generate the input and output file names.
  +        ostrstream theFormatterIn, theFormatterOut;
  +        theFormatterIn << "foo" << i + 1 << ".xml" << '\0';
  +                             theFormatterOut << "foo" << i + 1 << ".out" << 
'\0';
  +
  +        //Generate the XML input and output objects.
  +        XSLTInputSource   theInputSource(theFormatterIn.str());
  +                             XSLTResultTarget        
theResultTarget(theFormatterOut.str());
  +
  +                             // Unfreeze the ostrstreams, so the memory is 
returned...
  +        theFormatterIn.freeze(false);
  +                             theFormatterOut.freeze(false);
   
                                // Do the tranformation...
  -                             theStylesheetRoot->process(
  -                                                     theSourceTree,
  -                                                     theResultTarget,
  -                                                     theExecutionContext);
  -
  -                             // Reset things, so we can go again...
  -                             theProcessor.reset();
  -                             theExecutionContext.reset();
  +        theProcessor.process(
  +             theInputSource,
  +             0,     //Use the StylesheetRoot
  +             theResultTarget,
  +             theConstructionContext,
  +             theExecutionContext);
                        }
                }
                catch(...)
  
  
  
  1.1                  xml-xalan/c/samples/CompileStylesheet/foo1.xml
  
  Index: foo1.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <doc>Hello 1</doc>
  
  
  1.1                  xml-xalan/c/samples/CompileStylesheet/foo10.xml
  
  Index: foo10.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <doc>Hello 10</doc>
  
  
  1.1                  xml-xalan/c/samples/CompileStylesheet/foo2.xml
  
  Index: foo2.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <doc>Hello 2</doc>
  
  
  1.1                  xml-xalan/c/samples/CompileStylesheet/foo3.xml
  
  Index: foo3.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <doc>Hello 3</doc>
  
  
  1.1                  xml-xalan/c/samples/CompileStylesheet/foo4.xml
  
  Index: foo4.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <doc>Hello 4</doc>
  
  
  1.1                  xml-xalan/c/samples/CompileStylesheet/foo5.xml
  
  Index: foo5.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <doc>Hello 5</doc>
  
  
  1.1                  xml-xalan/c/samples/CompileStylesheet/foo6.xml
  
  Index: foo6.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <doc>Hello 6</doc>
  
  
  1.1                  xml-xalan/c/samples/CompileStylesheet/foo7.xml
  
  Index: foo7.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <doc>Hello 7</doc>
  
  
  1.1                  xml-xalan/c/samples/CompileStylesheet/foo8.xml
  
  Index: foo8.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <doc>Hello 8</doc>
  
  
  1.1                  xml-xalan/c/samples/CompileStylesheet/foo9.xml
  
  Index: foo9.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <doc>Hello 9</doc>
  
  

Reply via email to