knoaman     2004/10/20 08:19:07

  Modified:    c/src/xercesc/validators/datatype
                        DatatypeValidatorFactory.cpp
                        DatatypeValidatorFactory.hpp
               c/src/xercesc/validators/DTD DTDGrammar.cpp DTDGrammar.hpp
               c/src/xercesc/validators/schema ComplexTypeInfo.cpp
                        GeneralAttributeCheck.cpp XSDErrorReporter.cpp
  Log:
  Allow option of initializing static data in XMLPlatformUtils::Initialize
  
  Revision  Changes    Path
  1.30      +13 -0     
xml-xerces/c/src/xercesc/validators/datatype/DatatypeValidatorFactory.cpp
  
  Index: DatatypeValidatorFactory.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DatatypeValidatorFactory.cpp,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- DatatypeValidatorFactory.cpp      13 Sep 2004 21:38:34 -0000      1.29
  +++ DatatypeValidatorFactory.cpp      20 Oct 2004 15:19:07 -0000      1.30
  @@ -16,6 +16,9 @@
   
   /*
    * $Log$
  + * Revision 1.30  2004/10/20 15:19:07  knoaman
  + * Allow option of initializing static data in XMLPlatformUtils::Initialize
  + *
    * Revision 1.29  2004/09/13 21:38:34  peiyongz
    * getBuiltInBaseValidator
    *
  @@ -225,6 +228,7 @@
   #include <xercesc/validators/datatype/DurationDatatypeValidator.hpp>
   #include <xercesc/util/PlatformUtils.hpp>
   #include <xercesc/util/XMLRegisterCleanup.hpp>
  +#include <xercesc/util/XMLInitializer.hpp>
   
   #include <xercesc/internal/XTemplateSerializer.hpp>
   #include <xercesc/util/HashPtr.hpp>
  @@ -346,6 +350,15 @@
       delete sBuiltInRegistryMutex;
       sBuiltInRegistryMutex = 0;
       sBuiltInRegistryMutexRegistered = false;
  +}
  +
  +void XMLInitializer::initializeDVFactory()
  +{
  +    DatatypeValidatorFactory *dvFactory = new DatatypeValidatorFactory();
  +    if (dvFactory) {
  +        dvFactory->expandRegistryToFullSchemaSet();
  +        delete dvFactory;
  +    }
   }
   
   // ---------------------------------------------------------------------------
  
  
  
  1.18      +6 -3      
xml-xerces/c/src/xercesc/validators/datatype/DatatypeValidatorFactory.hpp
  
  Index: DatatypeValidatorFactory.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DatatypeValidatorFactory.hpp,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- DatatypeValidatorFactory.hpp      13 Sep 2004 21:38:34 -0000      1.17
  +++ DatatypeValidatorFactory.hpp      20 Oct 2004 15:19:07 -0000      1.18
  @@ -278,8 +278,11 @@
   // ---------------------------------------------------------------------------
   inline void DatatypeValidatorFactory::cleanUp() {
   
  -     delete fUserDefinedRegistry;
  -     fUserDefinedRegistry = 0;
  +    if (fUserDefinedRegistry)
  +    {
  +         delete fUserDefinedRegistry;
  +         fUserDefinedRegistry = 0;
  +    }
   }
   
   XERCES_CPP_NAMESPACE_END
  
  
  
  1.21      +31 -0     xml-xerces/c/src/xercesc/validators/DTD/DTDGrammar.cpp
  
  Index: DTDGrammar.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/DTD/DTDGrammar.cpp,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- DTDGrammar.cpp    8 Sep 2004 13:56:50 -0000       1.20
  +++ DTDGrammar.cpp    20 Oct 2004 15:19:07 -0000      1.21
  @@ -16,6 +16,9 @@
   
   /*
    * $Log$
  + * Revision 1.21  2004/10/20 15:19:07  knoaman
  + * Allow option of initializing static data in XMLPlatformUtils::Initialize
  + *
    * Revision 1.20  2004/09/08 13:56:50  peiyongz
    * Apache License Version 2.0
    *
  @@ -94,6 +97,7 @@
   #include <xercesc/util/XMLUniDefs.hpp>
   #include <xercesc/util/XMLUni.hpp>
   #include <xercesc/util/XMLRegisterCleanup.hpp>
  +#include <xercesc/util/XMLInitializer.hpp>
   #include <xercesc/validators/DTD/DTDGrammar.hpp>
   #include <xercesc/validators/DTD/XMLDTDDescriptionImpl.hpp>
   
  @@ -112,6 +116,33 @@
   //  DTDGrammar: Static member data
   // ---------------------------------------------------------------------------
   NameIdPool<DTDEntityDecl>* DTDGrammar::fDefaultEntities = 0;
  +
  +void XMLInitializer::initializeDTDGrammarDfltEntities()
  +{
  +    DTDGrammar::fDefaultEntities = new NameIdPool<DTDEntityDecl>(11, 12);
  +
  +    // Add the default entity entries for the character refs that must
  +    // always be present. We indicate that they are from the internal
  +    // subset. They aren't really, but they have to look that way so
  +    // that they are still valid for use within a standalone document.
  +    //
  +    // We also mark them as special char entities, which allows them
  +    // to be used in places whether other non-numeric general entities
  +    // cannot.
  +    //
  +    if (DTDGrammar::fDefaultEntities)
  +    {
  +        DTDGrammar::fDefaultEntities->put(new DTDEntityDecl(XMLUni::fgAmp, 
chAmpersand, true, true));
  +        DTDGrammar::fDefaultEntities->put(new DTDEntityDecl(XMLUni::fgLT, 
chOpenAngle, true, true));
  +        DTDGrammar::fDefaultEntities->put(new DTDEntityDecl(XMLUni::fgGT, 
chCloseAngle, true, true));
  +        DTDGrammar::fDefaultEntities->put(new DTDEntityDecl(XMLUni::fgQuot, 
chDoubleQuote, true, true));
  +        DTDGrammar::fDefaultEntities->put(new DTDEntityDecl(XMLUni::fgApos, 
chSingleQuote, true, true));
  +
  +        // register cleanup method
  +        entityPoolRegistryCleanup.registerCleanup(DTDGrammar::reinitDfltEntities);
  +        sEntityPoolMutexRegistered = true;
  +    }
  +}
   
   //---------------------------------------------------------------------------
   //  DTDGrammar: Constructors and Destructor
  
  
  
  1.16      +5 -0      xml-xerces/c/src/xercesc/validators/DTD/DTDGrammar.hpp
  
  Index: DTDGrammar.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/DTD/DTDGrammar.hpp,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- DTDGrammar.hpp    8 Sep 2004 13:56:50 -0000       1.15
  +++ DTDGrammar.hpp    20 Oct 2004 15:19:07 -0000      1.16
  @@ -16,6 +16,9 @@
   
   /*
    * $Log$
  + * Revision 1.16  2004/10/20 15:19:07  knoaman
  + * Allow option of initializing static data in XMLPlatformUtils::Initialize
  + *
    * Revision 1.15  2004/09/08 13:56:50  peiyongz
    * Apache License Version 2.0
    *
  @@ -298,6 +301,8 @@
       unsigned int                      fRootElemId;
       bool                              fValidated;
       XMLDTDDescription*                fGramDesc;
  +
  +    friend class XMLInitializer;
   };
   
   
  
  
  
  1.31      +9 -0      xml-xerces/c/src/xercesc/validators/schema/ComplexTypeInfo.cpp
  
  Index: ComplexTypeInfo.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/ComplexTypeInfo.cpp,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- ComplexTypeInfo.cpp       23 Sep 2004 00:37:24 -0000      1.30
  +++ ComplexTypeInfo.cpp       20 Oct 2004 15:19:07 -0000      1.31
  @@ -16,6 +16,9 @@
   
   /*
    * $Log$
  + * Revision 1.31  2004/10/20 15:19:07  knoaman
  + * Allow option of initializing static data in XMLPlatformUtils::Initialize
  + *
    * Revision 1.30  2004/09/23 00:37:24  cargilld
    * Remove unused variable and data member.
    *
  @@ -204,6 +207,7 @@
   #include <xercesc/validators/schema/XSDLocator.hpp>
   #include <xercesc/internal/XTemplateSerializer.hpp>
   #include <xercesc/util/XMLRegisterCleanup.hpp>
  +#include <xercesc/util/XMLInitializer.hpp>
   
   XERCES_CPP_NAMESPACE_BEGIN
   
  @@ -233,6 +237,11 @@
       delete sAnyTypeMutex;
       sAnyTypeMutex = 0;
       sAnyTypeMutexRegistered = false;
  +}
  +
  +void XMLInitializer::initializeAnyType()
  +{
  +    ComplexTypeInfo::getAnyType(1);
   }
   
   ComplexTypeInfo* ComplexTypeInfo::getAnyType(unsigned int emptyNSId)
  
  
  
  1.25      +10 -0     
xml-xerces/c/src/xercesc/validators/schema/GeneralAttributeCheck.cpp
  
  Index: GeneralAttributeCheck.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/validators/schema/GeneralAttributeCheck.cpp,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- GeneralAttributeCheck.cpp 30 Sep 2004 13:14:28 -0000      1.24
  +++ GeneralAttributeCheck.cpp 20 Oct 2004 15:19:07 -0000      1.25
  @@ -16,6 +16,9 @@
   
   /*
    * $Log$
  + * Revision 1.25  2004/10/20 15:19:07  knoaman
  + * Allow option of initializing static data in XMLPlatformUtils::Initialize
  + *
    * Revision 1.24  2004/09/30 13:14:28  amassari
    * Fix jira#1280 - Borland leaks memory if break or continue are used inside a 
catch block
    *
  @@ -155,6 +158,7 @@
   #include <xercesc/validators/schema/TraverseSchema.hpp>
   #include <xercesc/util/PlatformUtils.hpp>
   #include <xercesc/util/XMLRegisterCleanup.hpp>
  +#include <xercesc/util/XMLInitializer.hpp>
   #include <xercesc/validators/datatype/DatatypeValidatorFactory.hpp>
   #include <xercesc/util/OutOfMemoryException.hpp>
   
  @@ -206,6 +210,12 @@
   DatatypeValidator*                GeneralAttributeCheck::fNonNegIntDV = 0;
   DatatypeValidator*                GeneralAttributeCheck::fBooleanDV = 0;
   DatatypeValidator*                GeneralAttributeCheck::fAnyURIDV = 0;
  +
  +void XMLInitializer::initializeGeneralAttrCheckMap()
  +{
  +    GeneralAttributeCheck *obj = new GeneralAttributeCheck();
  +    delete obj;
  +}
   
   
   // ---------------------------------------------------------------------------
  
  
  
  1.15      +17 -0     xml-xerces/c/src/xercesc/validators/schema/XSDErrorReporter.cpp
  
  Index: XSDErrorReporter.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/XSDErrorReporter.cpp,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- XSDErrorReporter.cpp      8 Sep 2004 13:56:57 -0000       1.14
  +++ XSDErrorReporter.cpp      20 Oct 2004 15:19:07 -0000      1.15
  @@ -16,6 +16,9 @@
   
   /**
     * $Log$
  +  * Revision 1.15  2004/10/20 15:19:07  knoaman
  +  * Allow option of initializing static data in XMLPlatformUtils::Initialize
  +  *
     * Revision 1.14  2004/09/08 13:56:57  peiyongz
     * Apache License Version 2.0
     *
  @@ -75,6 +78,7 @@
   #include <xercesc/framework/XMLErrorReporter.hpp>
   #include <xercesc/util/XMLMsgLoader.hpp>
   #include <xercesc/util/XMLRegisterCleanup.hpp>
  +#include <xercesc/util/XMLInitializer.hpp>
   #include <xercesc/validators/schema/XSDErrorReporter.hpp>
   #include <xercesc/validators/schema/XSDLocator.hpp>
   
  @@ -165,6 +169,19 @@
           }
       }
       return gValidMsgLoader;
  +}
  +
  +void XMLInitializer::initializeXSDErrReporterMsgLoader()
  +{
  +    gErrMsgLoader = XMLPlatformUtils::loadMsgSet(XMLUni::fgXMLErrDomain);
  +    if (gErrMsgLoader) {
  +        cleanupErrMsgLoader.registerCleanup(reinitErrMsgLoader);
  +    }
  +
  +    gValidMsgLoader = XMLPlatformUtils::loadMsgSet(XMLUni::fgValidityDomain);
  +    if (gValidMsgLoader) {
  +        cleanupValidMsgLoader.registerCleanup(reinitValidMsgLoader);
  +    }
   }
   
   // ---------------------------------------------------------------------------
  
  
  

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

Reply via email to