peiyongz    2002/11/07 10:31:05

  Modified:    c/samples/SAXCount SAXCount.cpp
  Log:
  command line option for "locale"
  
  Revision  Changes    Path
  1.25      +40 -19    xml-xerces/c/samples/SAXCount/SAXCount.cpp
  
  Index: SAXCount.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/samples/SAXCount/SAXCount.cpp,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- SAXCount.cpp      4 Nov 2002 14:09:16 -0000       1.24
  +++ SAXCount.cpp      7 Nov 2002 18:31:04 -0000       1.25
  @@ -56,6 +56,9 @@
   
   /*
   * $Log$
  +* Revision 1.25  2002/11/07 18:31:04  peiyongz
  +* command line option for "locale"
  +*
   * Revision 1.24  2002/11/04 14:09:16  tng
   * [Bug 14201] use of ios::nocreate breaks build.
   *
  @@ -167,7 +170,9 @@
               "    -n          Enable namespace processing. Defaults to off.\n"
               "    -s          Enable schema processing. Defaults to off.\n"
               "    -f          Enable full schema constraint checking. Defaults to 
off.\n"
  -                   "    -?          Show this help.\n\n"
  +            "    -special:nel  Recognize nel \n"
  +            "    -locale=ll_CC specify the locale, default: en_US \n"
  +                 "    -?          Show this help.\n\n"
               "  * = Default if not provided explicitly.\n"
            << endl;
   }
  @@ -178,24 +183,11 @@
   // ---------------------------------------------------------------------------
   int main(int argC, char* argV[])
   {
  -    // Initialize the XML4C2 system
  -    try
  -    {
  -        XMLPlatformUtils::Initialize();
  -    }
  -
  -    catch (const XMLException& toCatch)
  -    {
  -        cerr << "Error during initialization! Message:\n"
  -            << StrX(toCatch.getMessage()) << endl;
  -        return 1;
  -    }
   
       // Check command line and extract arguments.
       if (argC < 2)
       {
           usage();
  -        XMLPlatformUtils::Terminate();
           return 1;
       }
   
  @@ -206,7 +198,9 @@
       bool                     schemaFullChecking = false;
       bool                     doList = false;
       bool                     errorOccurred = false;
  -
  +    bool                     recognizeNEL = false;
  +    char                     localeStr[64];
  +    memset(localeStr, 0, sizeof localeStr);
   
       int argInd;
       for (argInd = 1; argInd < argC; argInd++)
  @@ -219,7 +213,6 @@
           if (!strcmp(argV[argInd], "-?"))
           {
               usage();
  -            XMLPlatformUtils::Terminate();
               return 2;
           }
            else if (!strncmp(argV[argInd], "-v=", 3)
  @@ -236,7 +229,6 @@
               else
               {
                   cerr << "Unknown -v= value: " << parm << endl;
  -                XMLPlatformUtils::Terminate();
                   return 2;
               }
           }
  @@ -266,8 +258,13 @@
               // it will recognize the unicode character 0x85 as new line character
               // instead of regular character as specified in XML 1.0
               // do not turn this on unless really necessary
  -            XMLPlatformUtils::recognizeNEL(true);
  +             recognizeNEL = true;
           }
  +         else if (!strncmp(argV[argInd], "-locale=", 8))
  +        {
  +             // Get out the end of line
  +             strcpy(localeStr, &(argV[argInd][8]));
  +        }                    
           else
           {
               cerr << "Unknown option '" << argV[argInd]
  @@ -282,7 +279,31 @@
       if (argInd == argC)
       {
           usage();
  -        XMLPlatformUtils::Terminate();
  +        return 1;
  +    }
  +
  +    // Initialize the XML4C2 system
  +    try
  +    {
  +        if (strlen(localeStr))
  +        {
  +            XMLPlatformUtils::Initialize(localeStr);
  +        }
  +        else
  +        {
  +            XMLPlatformUtils::Initialize();
  +        }
  +
  +        if (recognizeNEL)
  +        {
  +            XMLPlatformUtils::recognizeNEL(recognizeNEL);
  +        }
  +    }
  +
  +    catch (const XMLException& toCatch)
  +    {
  +        cerr << "Error during initialization! Message:\n"
  +            << StrX(toCatch.getMessage()) << endl;
           return 1;
       }
   
  
  
  

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

Reply via email to