tng 2002/09/04 11:17:49 Modified: c/src/xercesc/validators/DTD DTDValidator.cpp DTDValidator.hpp Log: Do not set IDREF to used during prevalidation. Revision Changes Path 1.3 +13 -5 xml-xerces/c/src/xercesc/validators/DTD/DTDValidator.cpp Index: DTDValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/DTD/DTDValidator.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- DTDValidator.cpp 11 Jul 2002 18:55:44 -0000 1.2 +++ DTDValidator.cpp 4 Sep 2002 18:17:49 -0000 1.3 @@ -199,7 +199,8 @@ void DTDValidator::validateAttrValue(const XMLAttDef* attDef - , const XMLCh* const attrValue) + , const XMLCh* const attrValue + , bool preValidation) { // // Get quick refs to lost of of the stuff in the passed objects in @@ -215,8 +216,11 @@ // // If the default type is fixed, then make sure the passed value maps // to the fixed value. + // If during preContentValidation, the value we are validating is the fixed value itself + // so no need to compare. + // Only need to do this for regular attribute value validation // - if (defType == XMLAttDef::Fixed) + if (defType == XMLAttDef::Fixed && !preValidation) { if (XMLString::compareString(attrValue, valueText)) emitError(XMLValid::NotSameAsFixedValue, fullName, attrValue, valueText); @@ -373,8 +377,11 @@ // if (type == XMLAttDef::ID) find->setDeclared(true); - else - find->setUsed(true); + else { + if (!preValidation) { + find->setUsed(true); + } + } } } else if ((type == XMLAttDef::Entity) || (type == XMLAttDef::Entities)) @@ -576,6 +583,7 @@ ( &curAttDef , curAttDef.getValue() + , true ); } } 1.4 +4 -0 xml-xerces/c/src/xercesc/validators/DTD/DTDValidator.hpp Index: DTDValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/DTD/DTDValidator.hpp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- DTDValidator.hpp 22 Aug 2002 15:05:40 -0000 1.3 +++ DTDValidator.hpp 4 Sep 2002 18:17:49 -0000 1.4 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.4 2002/09/04 18:17:49 tng + * Do not set IDREF to used during prevalidation. + * * Revision 1.3 2002/08/22 15:05:40 tng * Remove unused parameter variables in inline functions. * @@ -173,6 +176,7 @@ ( const XMLAttDef* attDef , const XMLCh* const attrValue + , bool preValidation = false ); virtual void validateElement (
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]