cargilld 2003/12/15 09:23:49 Modified: c/src/xercesc/framework/psvi PSVIAttributeList.cpp PSVIAttributeList.hpp XSComplexTypeDefinition.cpp XSElementDeclaration.cpp XSIDCDefinition.cpp XSModel.cpp XSMultiValueFacet.cpp XSNamespaceItem.cpp XSSimpleTypeDefinition.cpp XSTypeDefinition.cpp Log: psvi updates; cleanup revisits and bug fixes Revision Changes Path 1.4 +5 -2 xml-xerces/c/src/xercesc/framework/psvi/PSVIAttributeList.cpp Index: PSVIAttributeList.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/psvi/PSVIAttributeList.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- PSVIAttributeList.cpp 26 Nov 2003 16:20:37 -0000 1.3 +++ PSVIAttributeList.cpp 15 Dec 2003 17:23:48 -0000 1.4 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.4 2003/12/15 17:23:48 cargilld + * psvi updates; cleanup revisits and bug fixes + * * Revision 1.3 2003/11/26 16:20:37 neilg * more complete implementation of PSVIAttributeList; remove some problematic const-ness * @@ -77,7 +80,7 @@ fMemoryManager(manager) , fAttrPos(0) { - fAttrList = new (fMemoryManager) ValueVectorOf<PSVIAttribute*> (10, fMemoryManager, true); + fAttrList= new (fMemoryManager) RefVectorOf<PSVIAttribute> (10, true, fMemoryManager); } /* 1.5 +7 -4 xml-xerces/c/src/xercesc/framework/psvi/PSVIAttributeList.hpp Index: PSVIAttributeList.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/psvi/PSVIAttributeList.hpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- PSVIAttributeList.hpp 2 Dec 2003 16:21:41 -0000 1.4 +++ PSVIAttributeList.hpp 15 Dec 2003 17:23:48 -0000 1.5 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.5 2003/12/15 17:23:48 cargilld + * psvi updates; cleanup revisits and bug fixes + * * Revision 1.4 2003/12/02 16:21:41 neilg * fix for ArrayIndexOutOfBoundsException in PSVIAttributeList; thanks to Pete Lloyd * @@ -201,8 +204,8 @@ // list of PSVIAttributes contained by this object // fAttrPos // current number of valid PSVIAttributes in fAttrList - MemoryManager* fMemoryManager; - ValueVectorOf<PSVIAttribute*>* fAttrList; + MemoryManager* fMemoryManager; + RefVectorOf<PSVIAttribute>* fAttrList; unsigned int fAttrPos; }; inline PSVIAttributeList::~PSVIAttributeList() @@ -216,7 +219,7 @@ if(fAttrPos == fAttrList->size()) { retAttr = new (fMemoryManager)PSVIAttribute(fMemoryManager); - fAttrList->addElement(retAttr); + fAttrList->addElement(retAttr); } else { 1.9 +4 -3 xml-xerces/c/src/xercesc/framework/psvi/XSComplexTypeDefinition.cpp Index: XSComplexTypeDefinition.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/psvi/XSComplexTypeDefinition.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- XSComplexTypeDefinition.cpp 27 Nov 2003 16:42:00 -0000 1.8 +++ XSComplexTypeDefinition.cpp 15 Dec 2003 17:23:48 -0000 1.9 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.9 2003/12/15 17:23:48 cargilld + * psvi updates; cleanup revisits and bug fixes + * * Revision 1.8 2003/11/27 16:42:00 neilg * fixes for segfaults and infinite loops in schema component model implementation; thanks to David Cargill * @@ -135,8 +138,7 @@ if (headAnnot) { - // REVISIT Size - fXSAnnotationList = new (manager) RefVectorOf<XSAnnotation>(3, false, manager); + fXSAnnotationList = new (manager) RefVectorOf<XSAnnotation>(1, false, manager); XSAnnotation* annot = headAnnot; do @@ -242,7 +244,6 @@ bool XSComplexTypeDefinition::derivedFromType(const XSTypeDefinition * const ancestorType) { - // REVISIT: review if (!ancestorType) return false; 1.10 +3 -2 xml-xerces/c/src/xercesc/framework/psvi/XSElementDeclaration.cpp Index: XSElementDeclaration.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/psvi/XSElementDeclaration.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- XSElementDeclaration.cpp 2 Dec 2003 01:27:01 -0000 1.9 +++ XSElementDeclaration.cpp 15 Dec 2003 17:23:48 -0000 1.10 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.10 2003/12/15 17:23:48 cargilld + * psvi updates; cleanup revisits and bug fixes + * * Revision 1.9 2003/12/02 01:27:01 knoaman * Properly set fAnnotation data member * @@ -190,8 +193,6 @@ if (fSchemaElementDecl->getMiscFlags() & SchemaSymbols::XSD_FIXED) return XSConstants::VC_FIXED; - // REVISIT: need to verify this... don't appear to set a DEFAULT flag so thought - // this might work... if (fSchemaElementDecl->getDefaultValue()) return XSConstants::VC_DEFAULT; 1.7 +5 -3 xml-xerces/c/src/xercesc/framework/psvi/XSIDCDefinition.cpp Index: XSIDCDefinition.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/psvi/XSIDCDefinition.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- XSIDCDefinition.cpp 21 Nov 2003 17:29:53 -0000 1.6 +++ XSIDCDefinition.cpp 15 Dec 2003 17:23:48 -0000 1.7 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.7 2003/12/15 17:23:48 cargilld + * psvi updates; cleanup revisits and bug fixes + * * Revision 1.6 2003/11/21 17:29:53 knoaman * PSVI update * @@ -105,9 +108,8 @@ , fXSAnnotationList(0) { if (headAnnot) - { - // REVISIT Size - fXSAnnotationList = new (manager) RefVectorOf<XSAnnotation>(3, false, manager); + { + fXSAnnotationList = new (manager) RefVectorOf<XSAnnotation>(1, false, manager); XSAnnotation* annot = headAnnot; do 1.13 +24 -29 xml-xerces/c/src/xercesc/framework/psvi/XSModel.cpp Index: XSModel.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/psvi/XSModel.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- XSModel.cpp 13 Dec 2003 23:35:28 -0000 1.12 +++ XSModel.cpp 15 Dec 2003 17:23:48 -0000 1.13 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.13 2003/12/15 17:23:48 cargilld + * psvi updates; cleanup revisits and bug fixes + * * Revision 1.12 2003/12/13 23:35:28 neilg * fix bug 25494; thanks to Han Ming * @@ -217,8 +220,7 @@ namespaceItem->fHashMap[XSConstants::ATTRIBUTE_GROUP_DEFINITION -1]->put((void *) xsAttrGroupDecl->getName(), xsAttrGroupDecl); } // end of attribute group loop - // Loop through top-level model group definitions in the grammar... - // REVISIT: how to see if a model group definition is global or local? + // Loop through top-level model group definitions in the grammar... RefHashTableOfEnumerator<XercesGroupInfo> modelGroupEnum = RefHashTableOfEnumerator<XercesGroupInfo> (namespaceItem->getSchemaGrammar()->getGroupInfoRegistry()); while (modelGroupEnum.hasMoreElements()) { @@ -233,9 +235,6 @@ NameIdPoolEnumerator<XMLNotationDecl> notationEnum = namespaceItem->getSchemaGrammar()->getNotationEnumerator(); while (notationEnum.hasMoreElements()) { - // REVISIT: do we need to store mapping between XMLNotationDecl objects and - // XSNotationDeclaration objects? PSVIElement may need it to - // get the XSNotationDecl... XMLNotationDecl& notationDecl = notationEnum.nextElement(); XSNotationDeclaration* xsNotationDecl = fObjFactory->addOrFind(¬ationDecl, this); @@ -283,8 +282,7 @@ // Populate XSNamedMaps by going through the components for (unsigned int i=0; i<XSConstants::MULTIVALUE_FACET; i++) - { - // REVISIT: what size & modulus + { switch (i+1) { case XSConstants::ATTRIBUTE_DECLARATION: @@ -295,7 +293,7 @@ case XSConstants::NOTATION_DECLARATION: fComponentMap[i] = new (fMemoryManager) XSNamedMap<XSObject> ( - 29, // size + 20, // size 29, // modulus fURIStringPool, false, // adoptElems @@ -315,14 +313,13 @@ break; } } - - // Revisit: size of vector + fNamespaceStringList = new (manager) RefArrayVectorOf <XMLCh>(10, true, manager); fXSNamespaceItemList = new (manager) RefVectorOf <XSNamespaceItem>(10, true, manager); fXSAnnotationList = new (manager) RefVectorOf <XSAnnotation> (10, false, manager); - fElementDeclarationVector = new (manager) RefVectorOf<XSElementDeclaration> (10, false, manager); - fAttributeDeclarationVector = new (manager) RefVectorOf<XSAttributeDeclaration> (10, false, manager); - fHashNamespace = new (manager) RefHashTableOf<XSNamespaceItem> (29, false, manager); + fElementDeclarationVector = new (manager) RefVectorOf<XSElementDeclaration> (30, false, manager); + fAttributeDeclarationVector = new (manager) RefVectorOf<XSAttributeDeclaration> (20, false, manager); + fHashNamespace = new (manager) RefHashTableOf<XSNamespaceItem> (11, false, manager); // Loop through all grammars in the grammar pool to create the XSNamespaceItem's // which will have access to Annotation Information which can be used later when @@ -386,8 +383,7 @@ unsigned int i; // Populate XSNamedMaps by going through the components for (i=0; i<XSConstants::MULTIVALUE_FACET; i++) - { - // REVISIT: what size & modulus + { switch (i+1) { case XSConstants::ATTRIBUTE_DECLARATION: @@ -398,7 +394,7 @@ case XSConstants::NOTATION_DECLARATION: fComponentMap[i] = new (fMemoryManager) XSNamedMap<XSObject> ( - 29, // size + 20, // size 29, // modulus fURIStringPool, false, // adoptElems @@ -418,15 +414,14 @@ break; } } - - // Revisit: size of vector + fNamespaceStringList = new (manager) RefArrayVectorOf <XMLCh>(10, true, manager); fXSNamespaceItemList = new (manager) RefVectorOf <XSNamespaceItem>(10, false, manager); fDeleteNamespace = new (manager) RefVectorOf <XSNamespaceItem>(10, true, manager); fXSAnnotationList = new (manager) RefVectorOf <XSAnnotation> (10, false, manager); - fElementDeclarationVector = new (manager) RefVectorOf<XSElementDeclaration> (10, false, manager); - fAttributeDeclarationVector = new (manager) RefVectorOf<XSAttributeDeclaration> (10, false, manager); - fHashNamespace = new (manager) RefHashTableOf<XSNamespaceItem> (29, false, manager); + fElementDeclarationVector = new (manager) RefVectorOf<XSElementDeclaration> (30, false, manager); + fAttributeDeclarationVector = new (manager) RefVectorOf<XSAttributeDeclaration> (20, false, manager); + fHashNamespace = new (manager) RefHashTableOf<XSNamespaceItem> (11, false, manager); if (fParent) { @@ -436,7 +431,7 @@ // Need to copy information from parent so it can be returned in this object... for (i=0; i<fParent->fXSNamespaceItemList->size(); i++) { - XSNamespaceItem* namespaceItem = fXSNamespaceItemList->elementAt(i); + XSNamespaceItem* namespaceItem = fParent->fXSNamespaceItemList->elementAt(i); fXSNamespaceItemList->addElement(namespaceItem); XMLCh* NameSpace = XMLString::replicate(namespaceItem->getSchemaNamespace(), manager); @@ -607,7 +602,7 @@ namespaceItem = getNamespaceItem(emptyString); if (namespaceItem) - namespaceItem->getElementDeclaration(name); + return namespaceItem->getElementDeclaration(name); return 0; } @@ -629,7 +624,7 @@ namespaceItem = getNamespaceItem(emptyString); if (namespaceItem) - namespaceItem->getAttributeDeclaration(name); + return namespaceItem->getAttributeDeclaration(name); return 0; } @@ -652,7 +647,7 @@ namespaceItem = getNamespaceItem(emptyString); if (namespaceItem) - namespaceItem->getTypeDefinition(name); + return namespaceItem->getTypeDefinition(name); return 0; } @@ -674,7 +669,7 @@ namespaceItem = getNamespaceItem(emptyString); if (namespaceItem) - namespaceItem->getAttributeGroup(name); + return namespaceItem->getAttributeGroup(name); return 0; } @@ -696,7 +691,7 @@ namespaceItem = getNamespaceItem(emptyString); if (namespaceItem) - namespaceItem->getModelGroupDefinition(name); + return namespaceItem->getModelGroupDefinition(name); return 0; } @@ -718,7 +713,7 @@ namespaceItem = getNamespaceItem(emptyString); if (namespaceItem) - namespaceItem->getNotationDeclaration(name); + return namespaceItem->getNotationDeclaration(name); return 0; } 1.7 +5 -3 xml-xerces/c/src/xercesc/framework/psvi/XSMultiValueFacet.cpp Index: XSMultiValueFacet.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/psvi/XSMultiValueFacet.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- XSMultiValueFacet.cpp 27 Nov 2003 16:42:00 -0000 1.6 +++ XSMultiValueFacet.cpp 15 Dec 2003 17:23:48 -0000 1.7 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.7 2003/12/15 17:23:48 cargilld + * psvi updates; cleanup revisits and bug fixes + * * Revision 1.6 2003/11/27 16:42:00 neilg * fixes for segfaults and infinite loops in schema component model implementation; thanks to David Cargill * @@ -100,9 +103,8 @@ , fXSAnnotationList(0) { if (headAnnot) - { - // REVISIT Size - fXSAnnotationList = new (manager) RefVectorOf<XSAnnotation>(3, false, manager); + { + fXSAnnotationList = new (manager) RefVectorOf<XSAnnotation>(1, false, manager); XSAnnotation* annot = headAnnot; do 1.7 +8 -5 xml-xerces/c/src/xercesc/framework/psvi/XSNamespaceItem.cpp Index: XSNamespaceItem.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/psvi/XSNamespaceItem.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- XSNamespaceItem.cpp 21 Nov 2003 22:34:45 -0000 1.6 +++ XSNamespaceItem.cpp 15 Dec 2003 17:23:48 -0000 1.7 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.7 2003/12/15 17:23:48 cargilld + * psvi updates; cleanup revisits and bug fixes + * * Revision 1.6 2003/11/21 22:34:45 neilg * More schema component model implementation, thanks to David Cargill. * In particular, this cleans up and completes the XSModel, XSNamespaceItem, @@ -102,8 +105,7 @@ { // Populate XSNamedMaps by going through the components for (unsigned int i=0; i<XSConstants::MULTIVALUE_FACET; i++) - { - // REVISIT: what size & modulus & adopt + { switch (i+1) { case XSConstants::ATTRIBUTE_DECLARATION: @@ -114,7 +116,7 @@ case XSConstants::NOTATION_DECLARATION: fComponentMap[i] = new (fMemoryManager) XSNamedMap<XSObject> ( - 29, // size + 20, // size 29, // modulus fXSModel->getURIStringPool(), false, // adoptElems @@ -142,8 +144,7 @@ } } - // Revisit size - fXSAnnotationList = new (manager) RefVectorOf <XSAnnotation> (10, false, manager); + fXSAnnotationList = new (manager) RefVectorOf <XSAnnotation> (5, false, manager); } XSNamespaceItem::~XSNamespaceItem() 1.8 +4 -7 xml-xerces/c/src/xercesc/framework/psvi/XSSimpleTypeDefinition.cpp Index: XSSimpleTypeDefinition.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/psvi/XSSimpleTypeDefinition.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- XSSimpleTypeDefinition.cpp 25 Nov 2003 18:08:31 -0000 1.7 +++ XSSimpleTypeDefinition.cpp 15 Dec 2003 17:23:48 -0000 1.8 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.8 2003/12/15 17:23:48 cargilld + * psvi updates; cleanup revisits and bug fixes + * * Revision 1.7 2003/11/25 18:08:31 knoaman * Misc. PSVI updates. Thanks to David Cargill. * @@ -193,11 +196,7 @@ } const XMLCh *XSSimpleTypeDefinition::getLexicalFacetValue(FACET facetName) -{ - // REVISIT - // We have a vector of Facets. To do a search is a linear operation. Would - // be faster to store them in mutiple formats (vector & hashtable). Will - // initially process them in just a vector... +{ unsigned int size = fXSFacetList->size(); for (unsigned int i=0; i<size; i++) { @@ -263,8 +262,6 @@ bool XSSimpleTypeDefinition::derivedFromType(const XSTypeDefinition * const ancestorType) { - // REVISIT: review - if (!ancestorType) return false; 1.8 +6 -2 xml-xerces/c/src/xercesc/framework/psvi/XSTypeDefinition.cpp Index: XSTypeDefinition.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/psvi/XSTypeDefinition.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- XSTypeDefinition.cpp 25 Nov 2003 18:08:31 -0000 1.7 +++ XSTypeDefinition.cpp 15 Dec 2003 17:23:48 -0000 1.8 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.8 2003/12/15 17:23:48 cargilld + * psvi updates; cleanup revisits and bug fixes + * * Revision 1.7 2003/11/25 18:08:31 knoaman * Misc. PSVI updates. Thanks to David Cargill. * @@ -119,8 +122,9 @@ bool XSTypeDefinition::derivedFrom(const XMLCh *typeNamespace, const XMLCh *name) -{ - // REVISIT: review +{ + // REVISIT: review + // look up object... ask Neil... if (!name) return false;
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]