gareth 2003/08/22 01:42:34 Modified: c/src/xercesc/parsers AbstractDOMParser.cpp Log: Not all unknown attributes are faulted in. In these cases the DOMTypeINfo should report AnySimpleType, not AnyURI as they were. Revision Changes Path 1.50 +9 -3 xml-xerces/c/src/xercesc/parsers/AbstractDOMParser.cpp Index: AbstractDOMParser.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/parsers/AbstractDOMParser.cpp,v retrieving revision 1.49 retrieving revision 1.50 diff -u -r1.49 -r1.50 --- AbstractDOMParser.cpp 20 Aug 2003 22:15:29 -0000 1.49 +++ AbstractDOMParser.cpp 22 Aug 2003 08:42:34 -0000 1.50 @@ -836,8 +836,11 @@ const XMLAttr* oneAttrib = attrList.elementAt(index); unsigned int attrURIId = oneAttrib -> getURIId(); namespaceURI = 0; - if (XMLString::equals(oneAttrib -> getName(), XMLNS)) //for xmlns=... + bool foundXMLNS = false; + if (XMLString::equals(oneAttrib -> getName(), XMLNS)) { //for xmlns=... attrURIId = fScanner->getXMLNSNamespaceId(); + foundXMLNS = true; + } if (attrURIId != fScanner->getEmptyNamespaceId()) { //TagName has a prefix namespaceURI = fScanner->getURIText(attrURIId); //get namespaceURI } @@ -887,9 +890,12 @@ attr->setTypeInfo(SchemaSymbols::fgDT_ANYURI, SchemaSymbols::fgURI_SCHEMAFORSCHEMA); } } - else { + else if(foundXMLNS || XMLString::equals(oneAttrib->getPrefix(), XMLUni::fgXMLNSString)){ //for normal ns attrs attr->setTypeInfo(SchemaSymbols::fgDT_ANYURI, SchemaSymbols::fgURI_SCHEMAFORSCHEMA); + } + else { + attr->setTypeInfo(SchemaSymbols::fgDT_ANYSIMPLETYPE, SchemaSymbols::fgURI_SCHEMAFORSCHEMA); } } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]