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