Skip to content
Snippets Groups Projects
README 2.00 KiB
Error messages in Xerces are generated by tools\NLS\Xlat, which currently runs
on windows. 

Here are the steps:
1) Modify XMLErrList_EN_US.Xml as per the changes
2) Compile all the files in tools\NLS\Xlat and link them all into an
   executable (Xlat.cpp has the main())
3) Run this Xlat executable with parameter:
     /SrcRoot=x:/xerces-c-src/ /OutPath=x:/output/ /OutFmt=KKK/Locale=EN_US
     where:
        i. SrcRoot should point to XERCESCROOT
       ii. OutPath should be any output folder that stores that generated
           files
      iii. Run it four times by setting OutFmt=Win32RC, OutFmt=CppSrc,
           OutFmt=ResBundle, OutFmt=MsgCat, respectively

4) Then the following files will be generated, and must be copied to their 
   appropriate location:
     i. en_US.txt  - copy this file to 
        \src\xercesc\util\MsgLoaders\ICU\resources
    ii. XercesMessages_en_US.hpp  - copy this file to
        \src\xercesc\util\MsgLoaders\InMemory
   iii. XercesMessages_en_US.Msg - copy this file to
        src\xercesc\util\MsgLoaders\MsgCatalog
    iv. XMLDOMMsg.hpp - copy this file to src\xercesc\util
     v. XMLErrorCodes.hpp - copy this file to src\xercesc\framework
    vi. XMLExceptMsgs.hpp - copy this file to src\xercesc\util
   vii. XMLMsgCat_Ids.hpp - copy this file to
        src\xercesc\util\MsgLoaders\MsgCatalog
  viii. XMLValidityCodes.hpp - copy this file to src\xercesc\framework
    ix. CppErrMsgs_en_US.RC - copy the entire file and
        replace the content  
        appearing between the line which reads:
           #endif    // APSTUDIO_INVOKED
        and the line which reads: 
           #endif    // English (U.S.) resources
        in src\xercesc\util\Platforms\Win32\version.rc
        What you replace should begin with:
         // ----------------------------------------------------------------
         //  This file was generated from the XML error message source.
         

Note: If you run Xlat on windows, and are commiting them under unix, you must
      first run dos2unix on them.