neilg 2003/11/14 14:35:10 Modified: c/src/xercesc/validators/schema/identity IdentityConstraint.cpp IdentityConstraint.hpp c/src/xercesc/validators/schema SchemaGrammar.hpp TraverseSchema.cpp Log: changes in support of second phase of XSModel implementation; thanks to David Cargill Revision Changes Path 1.9 +5 -2 xml-xerces/c/src/xercesc/validators/schema/identity/IdentityConstraint.cpp Index: IdentityConstraint.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/identity/IdentityConstraint.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- IdentityConstraint.cpp 13 Nov 2003 23:21:41 -0000 1.8 +++ IdentityConstraint.cpp 14 Nov 2003 22:35:09 -0000 1.9 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.9 2003/11/14 22:35:09 neilg + * changes in support of second phase of XSModel implementation; thanks to David Cargill + * * Revision 1.8 2003/11/13 23:21:41 peiyongz * initSize * @@ -212,7 +215,7 @@ serEng.writeString(fElemName); serEng<<fSelector; - + serEng<<fNamespaceURI; /*** * * Serialize RefVectorOf<IC_Field>* fFields; @@ -228,7 +231,7 @@ serEng.readString(fElemName); serEng>>fSelector; - + serEng>>fNamespaceURI; /*** * * Deserialize RefVectorOf<IC_Field>* fFields; 1.7 +17 -1 xml-xerces/c/src/xercesc/validators/schema/identity/IdentityConstraint.hpp Index: IdentityConstraint.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/identity/IdentityConstraint.hpp,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- IdentityConstraint.hpp 14 Oct 2003 15:24:23 -0000 1.6 +++ IdentityConstraint.hpp 14 Nov 2003 22:35:09 -0000 1.7 @@ -113,11 +113,13 @@ XMLCh* getIdentityConstraintName() const; XMLCh* getElementName() const; IC_Selector* getSelector() const; + int getNamespaceURI() const; // ----------------------------------------------------------------------- // Setter methods // ----------------------------------------------------------------------- void setSelector(IC_Selector* const selector); + void setNamespaceURI(int uri); // ----------------------------------------------------------------------- // Access methods @@ -176,6 +178,7 @@ IC_Selector* fSelector; RefVectorOf<IC_Field>* fFields; MemoryManager* fMemoryManager; + int fNamespaceURI; }; @@ -204,6 +207,19 @@ inline IC_Selector* IdentityConstraint::getSelector() const { return fSelector; +} + +inline int IdentityConstraint::getNamespaceURI() const +{ + return fNamespaceURI; +} + +// --------------------------------------------------------------------------- +// IdentityConstraint: Setter methods +// --------------------------------------------------------------------------- +inline void IdentityConstraint::setNamespaceURI(int uri) +{ + fNamespaceURI = uri; } // --------------------------------------------------------------------------- 1.13 +10 -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.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- SchemaGrammar.hpp 12 Nov 2003 20:35:31 -0000 1.12 +++ SchemaGrammar.hpp 14 Nov 2003 22:35:09 -0000 1.13 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.13 2003/11/14 22:35:09 neilg + * changes in support of second phase of XSModel implementation; thanks to David Cargill + * * Revision 1.12 2003/11/12 20:35:31 peiyongz * Stateless Grammar: ValidationContext * @@ -280,6 +283,7 @@ // Getter methods // ----------------------------------------------------------------------- RefHash3KeysIdPoolEnumerator<SchemaElementDecl> getElemEnumerator() const; + NameIdPoolEnumerator<XMLNotationDecl> getNotationEnumerator() const; RefHashTableOf<XMLAttDef>* getAttributeDeclRegistry() const; RefHashTableOf<ComplexTypeInfo>* getComplexTypeRegistry() const; RefHashTableOf<XercesGroupInfo>* getGroupInfoRegistry() const; @@ -448,6 +452,12 @@ SchemaGrammar::getElemEnumerator() const { return RefHash3KeysIdPoolEnumerator<SchemaElementDecl>(fElemDeclPool); +} + +inline NameIdPoolEnumerator<XMLNotationDecl> +SchemaGrammar::getNotationEnumerator() const +{ + return NameIdPoolEnumerator<XMLNotationDecl>(fNotationDeclPool); } inline RefHashTableOf<XMLAttDef>* SchemaGrammar::getAttributeDeclRegistry() const { 1.95 +6 -6 xml-xerces/c/src/xercesc/validators/schema/TraverseSchema.cpp Index: TraverseSchema.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/TraverseSchema.cpp,v retrieving revision 1.94 retrieving revision 1.95 diff -u -r1.94 -r1.95 --- TraverseSchema.cpp 14 Nov 2003 16:32:41 -0000 1.94 +++ TraverseSchema.cpp 14 Nov 2003 22:35:09 -0000 1.95 @@ -4095,9 +4095,7 @@ if (!fIdentityConstraintNames) { fIdentityConstraintNames = new (fMemoryManager) RefHash2KeysTableOf<IdentityConstraint>(29, (bool) false, fMemoryManager); } - - if (fIdentityConstraintNames->containsKey(name, fTargetNSURI)) { - + else if (fIdentityConstraintNames->containsKey(name, fTargetNSURI)) { reportSchemaError(icElem, XMLUni::fgXMLErrDomain, XMLErrs::IC_DuplicateDecl, name); return; } @@ -4120,6 +4118,7 @@ // Add key to element declaration // ----------------------------------------------------------------------- elemDecl->addIdentityConstraint(icKey); + icKey->setNamespaceURI(fTargetNSURI); janKey.orphan(); } @@ -4156,8 +4155,7 @@ if (!fIdentityConstraintNames) { fIdentityConstraintNames = new (fGrammarPoolMemoryManager) RefHash2KeysTableOf<IdentityConstraint>(29, (bool) false, fGrammarPoolMemoryManager); } - - if (fIdentityConstraintNames->containsKey(name, fTargetNSURI)) { + else if (fIdentityConstraintNames->containsKey(name, fTargetNSURI)) { reportSchemaError(icElem, XMLUni::fgXMLErrDomain, XMLErrs::IC_DuplicateDecl, name); return; @@ -4181,6 +4179,7 @@ // Add identity cosntraints to element declaration // ----------------------------------------------------------------------- elemDecl->addIdentityConstraint(icUnique); + icUnique->setNamespaceURI(fTargetNSURI); janUnique.orphan(); } @@ -4263,6 +4262,7 @@ else { elemDecl->addIdentityConstraint(icKeyRef); + icKeyRef->setNamespaceURI(fTargetNSURI); janKeyRef.orphan(); } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]