dbertoni    2002/12/11 17:49:35

  Modified:    c/src/XalanExe XalanExe.cpp
  Log:
  Added an option to force the encoding from the command line.
  
  Revision  Changes    Path
  1.18      +36 -7     xml-xalan/c/src/XalanExe/XalanExe.cpp
  
  Index: XalanExe.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XalanExe/XalanExe.cpp,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- XalanExe.cpp      27 Nov 2002 22:37:55 -0000      1.17
  +++ XalanExe.cpp      12 Dec 2002 01:49:35 -0000      1.18
  @@ -122,6 +122,8 @@
                 << endl
                 << "  -a                    Use xml-stylesheet PI, not the 
'stylesheet' argument"
                 << endl
  +              << "  -e encoding           Force the specified encoding for the 
output."
  +              << endl
                 << "  -i integer            Indent the specified amount."
                 << endl
                 << "  -m                    Omit the META tag in HTML output."
  @@ -150,6 +152,7 @@
   XALAN_USING_XALAN(XSLTInputSource)
   
   
  +
   class Params
   {
   public:
  @@ -163,6 +166,7 @@
                m_inFileName(0),
                m_xslFileName(0),
                m_outFileName(0),
  +             m_encoding(0),
                m_params(),
                m_maxParams(maxParams),
                m_currentParam(0)
  @@ -235,6 +239,8 @@
        const char*             m_xslFileName;
        const char*             m_outFileName;
   
  +     const char*             m_encoding;
  +
   private:
   
        struct ParamPair
  @@ -283,6 +289,20 @@
                        {
                                params.m_useStylesheetPI = true;
                        }
  +                     else if (argv[i][1] == 'e') 
  +                     {
  +                             ++i;
  +
  +                             if(i < argc && argv[i][0] != '-' &&
  +                                strlen(argv[i]) != 0)
  +                             {
  +                                     params.m_encoding = argv[i];
  +                             }
  +                             else
  +                             {
  +                                     fSuccess = false;
  +                             }
  +                     }
                        else if (argv[i][1] == 'i') 
                        {
                                ++i;
  @@ -411,20 +431,29 @@
                        const XSLTInputSource&  theSource,
                        const XSLTInputSource&  theStylesheetSource)
   {
  +     XALAN_USING_XALAN(XalanDOMString)
  +     XALAN_USING_XALAN(XSLTResultTarget)
  +
  +     XSLTResultTarget        theTarget;
  +
  +     if (theParams.m_encoding != 0)
  +     {
  +             theTarget.setEncoding(XalanDOMString(theParams.m_encoding));
  +     }
  +
        if (theParams.m_outFileName != 0)
        {
  -             return theTransformer.transform(
  -                             theSource,
  -                             theStylesheetSource,
  -                             theParams.m_outFileName);
  +             theTarget.setFileName(theParams.m_outFileName);
        }
        else
        {
  -             return theTransformer.transform(
  +             theTarget.setByteStream(&cout);
  +     }
  +
  +     return theTransformer.transform(
                                theSource,
                                theStylesheetSource,
  -                             cout);
  -     }
  +                             theTarget);
   }
   
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to