You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by pe...@apache.org on 2003/07/31 19:12:10 UTC

cvs commit: xml-xerces/c/src/xercesc/validators/schema SchemaGrammar.cpp SchemaGrammar.hpp

peiyongz    2003/07/31 10:12:10

  Modified:    c/src/xercesc/validators/schema SchemaGrammar.cpp
                        SchemaGrammar.hpp
  Log:
  Grammar embed grammar description
  
  Revision  Changes    Path
  1.7       +27 -0     xml-xerces/c/src/xercesc/validators/schema/SchemaGrammar.cpp
  
  Index: SchemaGrammar.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/SchemaGrammar.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- SchemaGrammar.cpp	21 May 2003 21:35:31 -0000	1.6
  +++ SchemaGrammar.cpp	31 Jul 2003 17:12:10 -0000	1.7
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.7  2003/07/31 17:12:10  peiyongz
  + * Grammar embed grammar description
  + *
    * Revision 1.6  2003/05/21 21:35:31  knoaman
    * Pass the memory manager.
    *
  @@ -120,6 +123,7 @@
   #include <xercesc/validators/schema/SchemaSymbols.hpp>
   #include <xercesc/validators/schema/XercesGroupInfo.hpp>
   #include <xercesc/validators/schema/XercesAttGroupInfo.hpp>
  +#include <xercesc/validators/schema/XMLSchemaDescriptionImpl.hpp>
   
   XERCES_CPP_NAMESPACE_BEGIN
   
  @@ -142,6 +146,7 @@
       , fMemoryManager(manager)
       , fValidated(false)
       , fDatatypeRegistry(manager)
  +    , fGramDesc(0)
   {
       //
       //  Init all the pool members.
  @@ -158,6 +163,9 @@
           fIDRefList = new (fMemoryManager) RefHashTableOf<XMLRefInfo>(29, fMemoryManager);
           fDatatypeRegistry.expandRegistryToFullSchemaSet();
   
  +        //REVISIT: use grammarPool to create
  +        fGramDesc = new (fMemoryManager) XMLSchemaDescriptionImpl(XMLUni::fgXMLNSURIName, fMemoryManager);
  +
           //
           //  Call our own reset method. This lets us have the pool setup stuff
           //  done in just one place (because this stame setup stuff has to be
  @@ -263,6 +271,25 @@
       delete fNamespaceScope;
       delete fValidSubstitutionGroups;
       delete fIDRefList;
  +    delete fGramDesc;
  +}
  +
  +void SchemaGrammar::setGrammarDescription( XMLGrammarDescription* gramDesc)
  +{
  +    if ((!gramDesc) || 
  +        (gramDesc->getGrammarType() != Grammar::SchemaGrammarType))
  +        return;
  +
  +    if (fGramDesc)
  +        delete fGramDesc;
  +
  +    //adopt the grammar Description
  +    fGramDesc = (XMLSchemaDescription*) gramDesc;
  +}
  +
  +XMLGrammarDescription* SchemaGrammar::getGrammarDescription() const
  +{
  +    return fGramDesc;
   }
   
   XERCES_CPP_NAMESPACE_END
  
  
  
  1.8       +11 -0     xml-xerces/c/src/xercesc/validators/schema/SchemaGrammar.hpp
  
  Index: SchemaGrammar.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/SchemaGrammar.hpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SchemaGrammar.hpp	16 May 2003 21:43:21 -0000	1.7
  +++ SchemaGrammar.hpp	31 Jul 2003 17:12:10 -0000	1.8
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.8  2003/07/31 17:12:10  peiyongz
  + * Grammar embed grammar description
  + *
    * Revision 1.7  2003/05/16 21:43:21  knoaman
    * Memory manager implementation: Modify constructors to pass in the memory manager.
    *
  @@ -133,6 +136,7 @@
   #include <xercesc/util/ValueVectorOf.hpp>
   #include <xercesc/validators/datatype/IDDatatypeValidator.hpp>
   #include <xercesc/validators/datatype/DatatypeValidatorFactory.hpp>
  +#include <xercesc/framework/XMLSchemaDescription.hpp>
   
   XERCES_CPP_NAMESPACE_BEGIN
   
  @@ -279,6 +283,9 @@
       void setNamespaceScope(NamespaceScope* const nsScope);
       void setValidSubstitutionGroups(RefHash2KeysTableOf<ElemVector>* const);
   
  +    virtual void                    setGrammarDescription( XMLGrammarDescription*);
  +    virtual XMLGrammarDescription*  getGrammarDescription() const;
  +
       // -----------------------------------------------------------------------
       //  Helper methods
       // -----------------------------------------------------------------------
  @@ -347,6 +354,9 @@
       //      Indicates if the content of the Grammar has been pre-validated
       //      or not (UPA checking, etc.). When using a cached grammar, no need
       //      for pre content validation.
  +    //
  +    //  fGramDesc: adopted
  +    //
       // -----------------------------------------------------------------------
       XMLCh*                                 fTargetNamespace;
       RefHash3KeysIdPool<SchemaElementDecl>* fElemDeclPool;
  @@ -363,6 +373,7 @@
       MemoryManager*                         fMemoryManager;
       bool                                   fValidated;
       DatatypeValidatorFactory               fDatatypeRegistry;
  +    XMLSchemaDescription*                  fGramDesc;
   };
   
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org