peiyongz 2003/11/12 12:32:04 Modified: c/src/xercesc/validators/datatype AbstractNumericFacetValidator.cpp AbstractNumericFacetValidator.hpp AbstractNumericValidator.cpp AbstractNumericValidator.hpp AbstractStringValidator.cpp AbstractStringValidator.hpp AnySimpleTypeDatatypeValidator.hpp BooleanDatatypeValidator.cpp BooleanDatatypeValidator.hpp DatatypeValidator.hpp DateTimeValidator.cpp DateTimeValidator.hpp DecimalDatatypeValidator.cpp DecimalDatatypeValidator.hpp DoubleDatatypeValidator.cpp DoubleDatatypeValidator.hpp ENTITYDatatypeValidator.hpp FloatDatatypeValidator.cpp FloatDatatypeValidator.hpp IDDatatypeValidator.hpp IDREFDatatypeValidator.hpp ListDatatypeValidator.cpp ListDatatypeValidator.hpp NameDatatypeValidator.cpp NameDatatypeValidator.hpp NCNameDatatypeValidator.cpp NCNameDatatypeValidator.hpp UnionDatatypeValidator.cpp UnionDatatypeValidator.hpp Log: Statless Grammar: ValidationContext Revision Changes Path 1.16 +5 -2 xml-xerces/c/src/xercesc/validators/datatype/AbstractNumericFacetValidator.cpp Index: AbstractNumericFacetValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/AbstractNumericFacetValidator.cpp,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- AbstractNumericFacetValidator.cpp 17 Oct 2003 21:13:43 -0000 1.15 +++ AbstractNumericFacetValidator.cpp 12 Nov 2003 20:32:03 -0000 1.16 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.16 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.15 2003/10/17 21:13:43 peiyongz * using XTemplateSerializer * @@ -154,7 +157,7 @@ { \ try \ { \ - numBase->checkContent(val->getRawData(), false); \ + numBase->checkContent(val->getRawData(), (ValidationContext*)0, false); \ } \ catch ( XMLException& ) \ { \ 1.9 +7 -3 xml-xerces/c/src/xercesc/validators/datatype/AbstractNumericFacetValidator.hpp Index: AbstractNumericFacetValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/AbstractNumericFacetValidator.hpp,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- AbstractNumericFacetValidator.hpp 17 Oct 2003 21:13:24 -0000 1.8 +++ AbstractNumericFacetValidator.hpp 12 Nov 2003 20:32:03 -0000 1.9 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.9 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.8 2003/10/17 21:13:24 peiyongz * loadNumber() moved to XMLNumber * @@ -151,8 +154,9 @@ virtual int compareValues(const XMLNumber* const lValue , const XMLNumber* const rValue) = 0; - virtual void checkContent(const XMLCh* const content - , bool asBase) = 0; + virtual void checkContent(const XMLCh* const content + , ValidationContext* const context + , bool asBase) = 0; // ----------------------------------------------------------------------- // Setter methods 1.7 +7 -3 xml-xerces/c/src/xercesc/validators/datatype/AbstractNumericValidator.cpp Index: AbstractNumericValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/AbstractNumericValidator.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- AbstractNumericValidator.cpp 2 Oct 2003 19:21:06 -0000 1.6 +++ AbstractNumericValidator.cpp 12 Nov 2003 20:32:03 -0000 1.7 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.7 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.6 2003/10/02 19:21:06 peiyongz * Implementation of Serialization/Deserialization * @@ -114,9 +117,10 @@ //do not invoke init() here !!! } -void AbstractNumericValidator::validate(const XMLCh* const content) +void AbstractNumericValidator::validate(const XMLCh* const content + , ValidationContext* const context) { - checkContent(content, false); + checkContent(content, context, false); } void AbstractNumericValidator::boundsCheck(const XMLNumber* const theData) 1.6 +12 -4 xml-xerces/c/src/xercesc/validators/datatype/AbstractNumericValidator.hpp Index: AbstractNumericValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/AbstractNumericValidator.hpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- AbstractNumericValidator.hpp 2 Oct 2003 19:21:06 -0000 1.5 +++ AbstractNumericValidator.hpp 12 Nov 2003 20:32:03 -0000 1.6 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.6 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.5 2003/10/02 19:21:06 peiyongz * Implementation of Serialization/Deserialization * @@ -102,7 +105,11 @@ //@} - virtual void validate(const XMLCh* const content); + virtual void validate + ( + const XMLCh* const content + , ValidationContext* const context = 0 + ); /*** * Support for Serialization/De-serialization @@ -125,8 +132,9 @@ // // Abstract interface // - virtual void checkContent(const XMLCh* const content - , bool asBase) = 0; + virtual void checkContent(const XMLCh* const content + , ValidationContext* const context + , bool asBase) = 0; void boundsCheck(const XMLNumber* const); 1.16 +12 -6 xml-xerces/c/src/xercesc/validators/datatype/AbstractStringValidator.cpp Index: AbstractStringValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/AbstractStringValidator.cpp,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- AbstractStringValidator.cpp 17 Oct 2003 21:13:43 -0000 1.15 +++ AbstractStringValidator.cpp 12 Nov 2003 20:32:03 -0000 1.16 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.16 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.15 2003/10/17 21:13:43 peiyongz * using XTemplateSerializer * @@ -554,9 +557,9 @@ for ( ; i < enumLength; i++) { // ask parent do a complete check - pBaseValidator->checkContent(getEnumeration()->elementAt(i), false); + pBaseValidator->checkContent(getEnumeration()->elementAt(i), (ValidationContext*)0, false); // enum shall pass this->checkContent() as well. - checkContent(getEnumeration()->elementAt(i), false); + checkContent(getEnumeration()->elementAt(i), (ValidationContext*)0, false); } } @@ -639,18 +642,21 @@ return XMLString::compareString(lValue, rValue); } -void AbstractStringValidator::validate( const XMLCh* const content) +void AbstractStringValidator::validate( const XMLCh* const content + , ValidationContext* const context ) { - checkContent(content, false); + checkContent(content, context, false); } -void AbstractStringValidator::checkContent( const XMLCh* const content, bool asBase) +void AbstractStringValidator::checkContent( const XMLCh* const content + , ValidationContext* const context + , bool asBase) { //validate against base validator if any AbstractStringValidator *pBaseValidator = (AbstractStringValidator*) this->getBaseValidator(); if (pBaseValidator) - pBaseValidator->checkContent(content, true); + pBaseValidator->checkContent(content, context, true); int thisFacetsDefined = getFacetsDefined(); 1.10 +12 -3 xml-xerces/c/src/xercesc/validators/datatype/AbstractStringValidator.hpp Index: AbstractStringValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/AbstractStringValidator.hpp,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- AbstractStringValidator.hpp 29 Sep 2003 21:47:35 -0000 1.9 +++ AbstractStringValidator.hpp 12 Nov 2003 20:32:03 -0000 1.10 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.10 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.9 2003/09/29 21:47:35 peiyongz * Implementation of Serialization/Deserialization * @@ -160,7 +163,11 @@ * is not valid. */ - virtual void validate(const XMLCh* const content); + virtual void validate + ( + const XMLCh* const content + , ValidationContext* const context = 0 + ); //@} @@ -215,7 +222,9 @@ virtual void inheritFacet(); - virtual void checkContent(const XMLCh* const content, bool asBase); + virtual void checkContent(const XMLCh* const content + , ValidationContext* const context + , bool asBase); /* ** Base64BinaryDatatypeValidator to overwrite 1.9 +9 -4 xml-xerces/c/src/xercesc/validators/datatype/AnySimpleTypeDatatypeValidator.hpp Index: AnySimpleTypeDatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/AnySimpleTypeDatatypeValidator.hpp,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- AnySimpleTypeDatatypeValidator.hpp 7 Oct 2003 19:39:03 -0000 1.8 +++ AnySimpleTypeDatatypeValidator.hpp 12 Nov 2003 20:32:03 -0000 1.9 @@ -119,7 +119,11 @@ * @param content A string containing the content to be validated * */ - void validate(const XMLCh* const content); + virtual void validate + ( + const XMLCh* const content + , ValidationContext* const context = 0 + ); /** * Checks whether a given type can be used as a substitute @@ -198,8 +202,9 @@ return true; } -inline void -AnySimpleTypeDatatypeValidator::validate(const XMLCh* const content) +inline void +AnySimpleTypeDatatypeValidator::validate(const XMLCh* const content + , ValidationContext* const context) { return; } 1.10 +7 -2 xml-xerces/c/src/xercesc/validators/datatype/BooleanDatatypeValidator.cpp Index: BooleanDatatypeValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/BooleanDatatypeValidator.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- BooleanDatatypeValidator.cpp 7 Oct 2003 19:39:03 -0000 1.9 +++ BooleanDatatypeValidator.cpp 12 Nov 2003 20:32:03 -0000 1.10 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.10 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.9 2003/10/07 19:39:03 peiyongz * Implementation of Serialization/Deserialization * @@ -176,13 +179,15 @@ }// End of facet setting } -void BooleanDatatypeValidator::checkContent( const XMLCh* const content, bool asBase) +void BooleanDatatypeValidator::checkContent( const XMLCh* const content + , ValidationContext* const context + , bool asBase) { //validate against base validator if any BooleanDatatypeValidator *pBaseValidator = (BooleanDatatypeValidator*) this->getBaseValidator(); if (pBaseValidator !=0) - pBaseValidator->checkContent(content, true); + pBaseValidator->checkContent(content, context, true); // we check pattern first if ( (getFacetsDefined() & DatatypeValidator::FACET_PATTERN ) != 0 ) 1.8 +12 -5 xml-xerces/c/src/xercesc/validators/datatype/BooleanDatatypeValidator.hpp Index: BooleanDatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/BooleanDatatypeValidator.hpp,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- BooleanDatatypeValidator.hpp 6 Nov 2003 15:30:07 -0000 1.7 +++ BooleanDatatypeValidator.hpp 12 Nov 2003 20:32:03 -0000 1.8 @@ -117,7 +117,11 @@ * is not valid. */ - void validate(const XMLCh* const content); + virtual void validate + ( + const XMLCh* const content + , ValidationContext* const context = 0 + ); //@} @@ -157,7 +161,9 @@ private: - void checkContent(const XMLCh* const content, bool asBase); + virtual void checkContent(const XMLCh* const content + , ValidationContext* const context + , bool asBase); // ----------------------------------------------------------------------- // Private data members @@ -199,9 +205,10 @@ return (DatatypeValidator*) new (manager) BooleanDatatypeValidator(this, facets, enums, finalSet, manager); } -inline void BooleanDatatypeValidator::validate( const XMLCh* const content) +inline void BooleanDatatypeValidator::validate( const XMLCh* const content + , ValidationContext* const context) { - checkContent(content, false); + checkContent(content, context, false); } XERCES_CPP_NAMESPACE_END 1.19 +7 -2 xml-xerces/c/src/xercesc/validators/datatype/DatatypeValidator.hpp Index: DatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DatatypeValidator.hpp,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- DatatypeValidator.hpp 6 Nov 2003 19:53:00 -0000 1.18 +++ DatatypeValidator.hpp 12 Nov 2003 20:32:03 -0000 1.19 @@ -69,6 +69,7 @@ #include <xercesc/validators/schema/SchemaSymbols.hpp> #include <xercesc/internal/XSerializable.hpp> #include <xercesc/framework/psvi/XSSimpleTypeDefinition.hpp> +#include <xercesc/framework/ValidationContext.hpp> XERCES_CPP_NAMESPACE_BEGIN @@ -253,7 +254,11 @@ * @param content A string containing the content to be validated * */ - virtual void validate(const XMLCh* const content) = 0; + virtual void validate + ( + const XMLCh* const content + , ValidationContext* const context = 0 + ) = 0; /** * Checks whether a given type can be used as a substitute 1.11 +11 -6 xml-xerces/c/src/xercesc/validators/datatype/DateTimeValidator.cpp Index: DateTimeValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DateTimeValidator.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- DateTimeValidator.cpp 2 Oct 2003 19:21:06 -0000 1.10 +++ DateTimeValidator.cpp 12 Nov 2003 20:32:03 -0000 1.11 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.11 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.10 2003/10/02 19:21:06 peiyongz * Implementation of Serialization/Deserialization * @@ -141,9 +144,10 @@ //do not invoke init() here !!! } -void DateTimeValidator::validate(const XMLCh* const content) +void DateTimeValidator::validate(const XMLCh* const content + , ValidationContext* const context) { - checkContent(content, false); + checkContent(content, context, false); } int DateTimeValidator::compare(const XMLCh* const value1 @@ -186,14 +190,15 @@ void DateTimeValidator::checkAdditionalFacetConstraintsBase() const {} -void DateTimeValidator::checkContent(const XMLCh* const content - , bool asBase) +void DateTimeValidator::checkContent(const XMLCh* const content + , ValidationContext* const context + , bool asBase) { //validate against base validator if any DateTimeValidator *pBaseValidator = (DateTimeValidator*) this->getBaseValidator(); if (pBaseValidator) - pBaseValidator->checkContent(content, true); + pBaseValidator->checkContent(content, context, true); int thisFacetsDefined = getFacetsDefined(); 1.6 +12 -5 xml-xerces/c/src/xercesc/validators/datatype/DateTimeValidator.hpp Index: DateTimeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DateTimeValidator.hpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- DateTimeValidator.hpp 2 Oct 2003 19:21:06 -0000 1.5 +++ DateTimeValidator.hpp 12 Nov 2003 20:32:03 -0000 1.6 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.6 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.5 2003/10/02 19:21:06 peiyongz * Implementation of Serialization/Deserialization * @@ -102,7 +105,11 @@ //@} - virtual void validate(const XMLCh* const content); + virtual void validate + ( + const XMLCh* const content + , ValidationContext* const context = 0 + ); virtual int compare(const XMLCh* const value1 , const XMLCh* const value2); @@ -142,9 +149,9 @@ virtual int compareValues(const XMLNumber* const lValue , const XMLNumber* const rValue); - virtual void checkContent(const XMLCh* const content - , bool asBase); - + virtual void checkContent(const XMLCh* const content + , ValidationContext* const context + , bool asBase); virtual void setMaxInclusive(const XMLCh* const); 1.16 +9 -4 xml-xerces/c/src/xercesc/validators/datatype/DecimalDatatypeValidator.cpp Index: DecimalDatatypeValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DecimalDatatypeValidator.cpp,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- DecimalDatatypeValidator.cpp 6 Nov 2003 15:30:07 -0000 1.15 +++ DecimalDatatypeValidator.cpp 12 Nov 2003 20:32:03 -0000 1.16 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.16 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.15 2003/11/06 15:30:07 neilg * first part of PSVI/schema component model implementation, thanks to David Cargill. This covers setting the PSVIHandler on parser objects, as well as implementing XSNotation, XSSimpleTypeDefinition, XSIDCDefinition, and most of XSWildcard, XSComplexTypeDefinition, XSElementDeclaration, XSAttributeDeclaration and XSAttributeUse. * @@ -470,7 +473,7 @@ { for ( i = 0; i < enumLength; i++) { - numBase->checkContent(fStrEnumeration->elementAt(i), false); + numBase->checkContent(fStrEnumeration->elementAt(i), (ValidationContext*)0, false); } } catch (XMLException&) @@ -486,7 +489,7 @@ // for ( i = 0; i < enumLength; i++) { - checkContent(fStrEnumeration->elementAt(i), false); + checkContent(fStrEnumeration->elementAt(i), (ValidationContext*)0, false); } fEnumeration = new (fMemoryManager) RefVectorOf<XMLNumber>(enumLength, true, fMemoryManager); @@ -502,13 +505,15 @@ // ----------------------------------------------------------------------- // Abstract interface from AbstractNumericValidator // ----------------------------------------------------------------------- -void DecimalDatatypeValidator::checkContent( const XMLCh* const content, bool asBase) +void DecimalDatatypeValidator::checkContent(const XMLCh* const content + , ValidationContext* const context + , bool asBase) { //validate against base validator if any DecimalDatatypeValidator *pBase = (DecimalDatatypeValidator*) this->getBaseValidator(); if (pBase) - pBase->checkContent(content, true); + pBase->checkContent(content, context, true); int thisFacetsDefined = getFacetsDefined(); 1.9 +7 -3 xml-xerces/c/src/xercesc/validators/datatype/DecimalDatatypeValidator.hpp Index: DecimalDatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DecimalDatatypeValidator.hpp,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- DecimalDatatypeValidator.hpp 2 Oct 2003 19:21:06 -0000 1.8 +++ DecimalDatatypeValidator.hpp 12 Nov 2003 20:32:03 -0000 1.9 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.9 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.8 2003/10/02 19:21:06 peiyongz * Implementation of Serialization/Deserialization * @@ -209,8 +212,9 @@ // Abstract interface from AbstractNumericValidator // ----------------------------------------------------------------------- - virtual void checkContent( const XMLCh* const content, bool asBase); - + virtual void checkContent(const XMLCh* const content + , ValidationContext* const context + , bool asBase); public: // ----------------------------------------------------------------------- 1.9 +10 -5 xml-xerces/c/src/xercesc/validators/datatype/DoubleDatatypeValidator.cpp Index: DoubleDatatypeValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DoubleDatatypeValidator.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- DoubleDatatypeValidator.cpp 6 Nov 2003 15:30:07 -0000 1.8 +++ DoubleDatatypeValidator.cpp 12 Nov 2003 20:32:03 -0000 1.9 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.9 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.8 2003/11/06 15:30:07 neilg * first part of PSVI/schema component model implementation, thanks to David Cargill. This covers setting the PSVIHandler on parser objects, as well as implementing XSNotation, XSSimpleTypeDefinition, XSIDCDefinition, and most of XSWildcard, XSComplexTypeDefinition, XSElementDeclaration, XSAttributeDeclaration and XSAttributeUse. * @@ -236,7 +239,7 @@ { for ( i = 0; i < enumLength; i++) { - numBase->checkContent(fStrEnumeration->elementAt(i), false); + numBase->checkContent(fStrEnumeration->elementAt(i), (ValidationContext*)0, false); } } catch (XMLException&) @@ -253,7 +256,7 @@ // for ( i = 0; i < enumLength; i++) { - checkContent(fStrEnumeration->elementAt(i), false); + checkContent(fStrEnumeration->elementAt(i), (ValidationContext*)0, false); } fEnumeration = new (fMemoryManager) RefVectorOf<XMLNumber>(enumLength, true, fMemoryManager); @@ -269,13 +272,15 @@ // Abstract interface from AbstractNumericValidator // ----------------------------------------------------------------------- -void DoubleDatatypeValidator::checkContent( const XMLCh* const content, bool asBase) +void DoubleDatatypeValidator::checkContent(const XMLCh* const content + , ValidationContext* const context + , bool asBase) { //validate against base validator if any DoubleDatatypeValidator *pBase = (DoubleDatatypeValidator*) this->getBaseValidator(); if (pBase) - pBase->checkContent(content, true); + pBase->checkContent(content, context, true); // we check pattern first if ( (getFacetsDefined() & DatatypeValidator::FACET_PATTERN ) != 0 ) 1.6 +7 -2 xml-xerces/c/src/xercesc/validators/datatype/DoubleDatatypeValidator.hpp Index: DoubleDatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DoubleDatatypeValidator.hpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- DoubleDatatypeValidator.hpp 2 Oct 2003 19:21:06 -0000 1.5 +++ DoubleDatatypeValidator.hpp 12 Nov 2003 20:32:03 -0000 1.6 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.6 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.5 2003/10/02 19:21:06 peiyongz * Implementation of Serialization/Deserialization * @@ -204,7 +207,9 @@ // Abstract interface from AbstractNumericValidator // ----------------------------------------------------------------------- - virtual void checkContent( const XMLCh* const content, bool asBase); + virtual void checkContent(const XMLCh* const content + , ValidationContext* const context + , bool asBase); }; 1.6 +11 -7 xml-xerces/c/src/xercesc/validators/datatype/ENTITYDatatypeValidator.hpp Index: ENTITYDatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/ENTITYDatatypeValidator.hpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- ENTITYDatatypeValidator.hpp 30 Sep 2003 18:17:53 -0000 1.5 +++ ENTITYDatatypeValidator.hpp 12 Nov 2003 20:32:03 -0000 1.6 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.6 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.5 2003/09/30 18:17:53 peiyongz * Implementation of Serialization/Deserialization * @@ -146,7 +149,11 @@ * is not valid. */ - virtual void validate(const XMLCh* const content); + virtual void validate + ( + const XMLCh* const content + , ValidationContext* const context = 0 + ); //@} @@ -185,6 +192,7 @@ /** @name Setter Functions */ //@{ + //deprecated inline void setEntityDeclPool(NameIdPool<DTDEntityDecl>* const entityDeclPool); //@} @@ -211,20 +219,16 @@ // ----------------------------------------------------------------------- // Private data members // - // fEntityDeclPool - // we do NOT own it. // // ----------------------------------------------------------------------- - NameIdPool<DTDEntityDecl>* fEntityDeclPool; }; // ----------------------------------------------------------------------- // Setter methods // ----------------------------------------------------------------------- -inline void ENTITYDatatypeValidator::setEntityDeclPool(NameIdPool<DTDEntityDecl>* const entityDeclPool) +inline void ENTITYDatatypeValidator::setEntityDeclPool(NameIdPool<DTDEntityDecl>* const ) { - fEntityDeclPool = entityDeclPool; } XERCES_CPP_NAMESPACE_END 1.9 +10 -5 xml-xerces/c/src/xercesc/validators/datatype/FloatDatatypeValidator.cpp Index: FloatDatatypeValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/FloatDatatypeValidator.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- FloatDatatypeValidator.cpp 6 Nov 2003 15:30:07 -0000 1.8 +++ FloatDatatypeValidator.cpp 12 Nov 2003 20:32:03 -0000 1.9 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.9 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.8 2003/11/06 15:30:07 neilg * first part of PSVI/schema component model implementation, thanks to David Cargill. This covers setting the PSVIHandler on parser objects, as well as implementing XSNotation, XSSimpleTypeDefinition, XSIDCDefinition, and most of XSWildcard, XSComplexTypeDefinition, XSElementDeclaration, XSAttributeDeclaration and XSAttributeUse. * @@ -238,7 +241,7 @@ { for ( i = 0; i < enumLength; i++) { - numBase->checkContent(fStrEnumeration->elementAt(i), false); + numBase->checkContent(fStrEnumeration->elementAt(i), (ValidationContext*)0, false); } } catch (XMLException&) @@ -255,7 +258,7 @@ // for ( i = 0; i < enumLength; i++) { - checkContent(fStrEnumeration->elementAt(i), false); + checkContent(fStrEnumeration->elementAt(i), (ValidationContext*)0, false); } fEnumeration = new (fMemoryManager) RefVectorOf<XMLNumber>(enumLength, true, fMemoryManager); @@ -270,13 +273,15 @@ // ----------------------------------------------------------------------- // Abstract interface from AbstractNumericValidator // ----------------------------------------------------------------------- -void FloatDatatypeValidator::checkContent( const XMLCh* const content, bool asBase) +void FloatDatatypeValidator::checkContent(const XMLCh* const content + , ValidationContext* const context + , bool asBase) { //validate against base validator if any FloatDatatypeValidator *pBase = (FloatDatatypeValidator*) this->getBaseValidator(); if (pBase) - pBase->checkContent(content, true); + pBase->checkContent(content, context, true); // we check pattern first if ( (getFacetsDefined() & DatatypeValidator::FACET_PATTERN ) != 0 ) 1.6 +7 -3 xml-xerces/c/src/xercesc/validators/datatype/FloatDatatypeValidator.hpp Index: FloatDatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/FloatDatatypeValidator.hpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- FloatDatatypeValidator.hpp 2 Oct 2003 19:21:06 -0000 1.5 +++ FloatDatatypeValidator.hpp 12 Nov 2003 20:32:03 -0000 1.6 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.6 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.5 2003/10/02 19:21:06 peiyongz * Implementation of Serialization/Deserialization * @@ -204,8 +207,9 @@ // Abstract interface from AbstractNumericValidator // ----------------------------------------------------------------------- - virtual void checkContent( const XMLCh* const content, bool asBase); - + virtual void checkContent(const XMLCh* const content + , ValidationContext* const context + , bool asBase); }; XERCES_CPP_NAMESPACE_END 1.6 +11 -9 xml-xerces/c/src/xercesc/validators/datatype/IDDatatypeValidator.hpp Index: IDDatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/IDDatatypeValidator.hpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- IDDatatypeValidator.hpp 30 Sep 2003 18:17:53 -0000 1.5 +++ IDDatatypeValidator.hpp 12 Nov 2003 20:32:03 -0000 1.6 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.6 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.5 2003/09/30 18:17:53 peiyongz * Implementation of Serialization/Deserialization * @@ -149,7 +152,11 @@ * is not valid. */ - virtual void validate(const XMLCh* const content); + virtual void validate + ( + const XMLCh* const content + , ValidationContext* const context = 0 + ); /** * Returns an instance of the base datatype validator class @@ -165,6 +172,7 @@ //@} + //deprecated inline void setIDRefList(RefHashTableOf<XMLRefInfo>* fIDRefList); /*** @@ -190,21 +198,15 @@ private: - void addId(const XMLCh* const); - // ----------------------------------------------------------------------- // Private data members // - // fIDRefList - // we do not own it. // // ----------------------------------------------------------------------- - RefHashTableOf<XMLRefInfo>* fIDRefList; }; -inline void IDDatatypeValidator::setIDRefList(RefHashTableOf<XMLRefInfo>* newIDRefList) +inline void IDDatatypeValidator::setIDRefList(RefHashTableOf<XMLRefInfo>* ) { - fIDRefList = newIDRefList; } XERCES_CPP_NAMESPACE_END 1.6 +11 -9 xml-xerces/c/src/xercesc/validators/datatype/IDREFDatatypeValidator.hpp Index: IDREFDatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/IDREFDatatypeValidator.hpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- IDREFDatatypeValidator.hpp 30 Sep 2003 18:17:53 -0000 1.5 +++ IDREFDatatypeValidator.hpp 12 Nov 2003 20:32:03 -0000 1.6 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.6 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.5 2003/09/30 18:17:53 peiyongz * Implementation of Serialization/Deserialization * @@ -148,7 +151,11 @@ * is not valid. */ - virtual void validate(const XMLCh* const content); + virtual void validate + ( + const XMLCh* const content + , ValidationContext* const context = 0 + ); //@} @@ -164,6 +171,7 @@ , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager ); + //deprecated inline void setIDRefList(RefHashTableOf<XMLRefInfo>* fIDRefList); /*** @@ -189,25 +197,19 @@ private: - void addIdRef(const XMLCh* const content); - // ----------------------------------------------------------------------- // Private data members // - // fIDRefList - // we do not own it. // // ----------------------------------------------------------------------- - RefHashTableOf<XMLRefInfo>* fIDRefList; }; // ----------------------------------------------------------------------- // Validation methods // ----------------------------------------------------------------------- -inline void IDREFDatatypeValidator::setIDRefList(RefHashTableOf<XMLRefInfo>* newIDRefList) +inline void IDREFDatatypeValidator::setIDRefList(RefHashTableOf<XMLRefInfo>* ) { - fIDRefList = newIDRefList; } XERCES_CPP_NAMESPACE_END 1.12 +19 -12 xml-xerces/c/src/xercesc/validators/datatype/ListDatatypeValidator.cpp Index: ListDatatypeValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/ListDatatypeValidator.cpp,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- ListDatatypeValidator.cpp 1 Oct 2003 16:32:41 -0000 1.11 +++ ListDatatypeValidator.cpp 12 Nov 2003 20:32:03 -0000 1.12 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.12 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.11 2003/10/01 16:32:41 neilg * improve handling of out of memory conditions, bug #23415. Thanks to David Cargill. * @@ -207,37 +210,41 @@ } -void ListDatatypeValidator::validate( const XMLCh* const content) +void ListDatatypeValidator::validate( const XMLCh* const content + , ValidationContext* const context) { setContent(content); BaseRefVectorOf<XMLCh>* tokenVector = XMLString::tokenizeString(content); Janitor<BaseRefVectorOf<XMLCh> > janName(tokenVector); - checkContent(tokenVector, content, false); + checkContent(tokenVector, content, context, false); } -void ListDatatypeValidator::checkContent( const XMLCh* const content, bool asBase) +void ListDatatypeValidator::checkContent( const XMLCh* const content + , ValidationContext* const context + , bool asBase) { setContent(content); BaseRefVectorOf<XMLCh>* tokenVector = XMLString::tokenizeString(content); Janitor<BaseRefVectorOf<XMLCh> > janName(tokenVector); - checkContent(tokenVector, content, asBase); + checkContent(tokenVector, content, context, asBase); } // // here content is a list of items // -void ListDatatypeValidator::checkContent( BaseRefVectorOf<XMLCh>* tokenVector - , const XMLCh* const content - , bool asBase) +void ListDatatypeValidator::checkContent( BaseRefVectorOf<XMLCh>* tokenVector + , const XMLCh* const content + , ValidationContext* const context + , bool asBase) { DatatypeValidator* bv = getBaseValidator(); if (bv->getType() == DatatypeValidator::List) - ((ListDatatypeValidator*)bv)->checkContent(tokenVector, content, true); + ((ListDatatypeValidator*)bv)->checkContent(tokenVector, content, context, true); else { // the ultimate itemType DTV for (unsigned int i = 0; i < tokenVector->size(); i++) - bv->validate(tokenVector->elementAt(i)); + bv->validate(tokenVector->elementAt(i), context); } int thisFacetsDefined = getFacetsDefined(); @@ -435,7 +442,7 @@ try { for ( int j = 0; j < tokenNumber; j++) - getBaseValidator()->validate(tempList->elementAt(j)); + getBaseValidator()->validate(tempList->elementAt(j), (ValidationContext*)0); } catch(const OutOfMemoryException&) { @@ -450,7 +457,7 @@ delete tempList; // enum shall pass this->checkContent() as well. - checkContent(getEnumeration()->elementAt(i), false); + checkContent(getEnumeration()->elementAt(i), (ValidationContext*)0, false); } } 1.8 +17 -6 xml-xerces/c/src/xercesc/validators/datatype/ListDatatypeValidator.hpp Index: ListDatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/ListDatatypeValidator.hpp,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- ListDatatypeValidator.hpp 30 Sep 2003 21:31:30 -0000 1.7 +++ ListDatatypeValidator.hpp 12 Nov 2003 20:32:03 -0000 1.8 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.8 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.7 2003/09/30 21:31:30 peiyongz * Implementation of Serialization/Deserialization * @@ -169,7 +172,11 @@ * is not valid. */ - void validate(const XMLCh* const content); + virtual void validate + ( + const XMLCh* const content + , ValidationContext* const context = 0 + ); //@} @@ -235,13 +242,17 @@ virtual void inheritFacet(); - void checkContent(const XMLCh* const content, bool asBase); + virtual void checkContent(const XMLCh* const content + , ValidationContext* const context + , bool asBase); private: - void checkContent(BaseRefVectorOf<XMLCh>* tokenVector - , const XMLCh* const content - , bool asBase); + void checkContent( BaseRefVectorOf<XMLCh>* tokenVector + , const XMLCh* const content + , ValidationContext* const context + , bool asBase + ); bool valueSpaceCheck(BaseRefVectorOf<XMLCh>* tokenVector , const XMLCh* const enumStr) const; 1.7 +7 -3 xml-xerces/c/src/xercesc/validators/datatype/NameDatatypeValidator.cpp Index: NameDatatypeValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/NameDatatypeValidator.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- NameDatatypeValidator.cpp 30 Sep 2003 18:17:53 -0000 1.6 +++ NameDatatypeValidator.cpp 12 Nov 2003 20:32:03 -0000 1.7 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.7 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.6 2003/09/30 18:17:53 peiyongz * Implementation of Serialization/Deserialization * @@ -148,13 +151,14 @@ return ( XMLString::equals(lValue, rValue)? 0 : -1); } -void NameDatatypeValidator::validate(const XMLCh* const content) +void NameDatatypeValidator::validate(const XMLCh* const content + , ValidationContext* const context) { // use StringDatatypeValidator (which in turn, invoke // the baseValidator) to validate content against // facets if any. // - StringDatatypeValidator::validate(content); + StringDatatypeValidator::validate(content, context); return; } 1.6 +9 -2 xml-xerces/c/src/xercesc/validators/datatype/NameDatatypeValidator.hpp Index: NameDatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/NameDatatypeValidator.hpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- NameDatatypeValidator.hpp 30 Sep 2003 18:17:53 -0000 1.5 +++ NameDatatypeValidator.hpp 12 Nov 2003 20:32:03 -0000 1.6 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.6 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.5 2003/09/30 18:17:53 peiyongz * Implementation of Serialization/Deserialization * @@ -130,7 +133,11 @@ * is not valid. */ - virtual void validate(const XMLCh* const content); + virtual void validate + ( + const XMLCh* const content + , ValidationContext* const context = 0 + ); //@} 1.7 +7 -3 xml-xerces/c/src/xercesc/validators/datatype/NCNameDatatypeValidator.cpp Index: NCNameDatatypeValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/NCNameDatatypeValidator.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- NCNameDatatypeValidator.cpp 30 Sep 2003 18:17:53 -0000 1.6 +++ NCNameDatatypeValidator.cpp 12 Nov 2003 20:32:03 -0000 1.7 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.7 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.6 2003/09/30 18:17:53 peiyongz * Implementation of Serialization/Deserialization * @@ -146,13 +149,14 @@ return ( XMLString::equals(lValue, rValue)? 0 : -1); } -void NCNameDatatypeValidator::validate(const XMLCh* const content) +void NCNameDatatypeValidator::validate(const XMLCh* const content + , ValidationContext* const context) { // use StringDatatypeValidator (which in turn, invoke // the baseValidator) to validate content against // facets if any. // - StringDatatypeValidator::validate(content); + StringDatatypeValidator::validate(content, context); return; } 1.6 +9 -2 xml-xerces/c/src/xercesc/validators/datatype/NCNameDatatypeValidator.hpp Index: NCNameDatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/NCNameDatatypeValidator.hpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- NCNameDatatypeValidator.hpp 30 Sep 2003 18:17:53 -0000 1.5 +++ NCNameDatatypeValidator.hpp 12 Nov 2003 20:32:03 -0000 1.6 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.6 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.5 2003/09/30 18:17:53 peiyongz * Implementation of Serialization/Deserialization * @@ -131,7 +134,11 @@ * is not valid. */ - virtual void validate(const XMLCh* const content); + virtual void validate + ( + const XMLCh* const content + , ValidationContext* const context = 0 + ); //@} 1.16 +10 -5 xml-xerces/c/src/xercesc/validators/datatype/UnionDatatypeValidator.cpp Index: UnionDatatypeValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/UnionDatatypeValidator.cpp,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- UnionDatatypeValidator.cpp 31 Oct 2003 22:17:11 -0000 1.15 +++ UnionDatatypeValidator.cpp 12 Nov 2003 20:32:03 -0000 1.16 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.16 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.15 2003/10/31 22:17:11 peiyongz * solve ownership * @@ -283,7 +286,7 @@ // since there are no other facets for Union, parent // checking is good enough. // - baseValidator->validate(getEnumeration()->elementAt(i)); + baseValidator->validate(getEnumeration()->elementAt(i), (ValidationContext*)0); } } @@ -327,12 +330,14 @@ // 3) the natvie Union DTV (the top level DTV) would invoke // memberTypeValidator to validate // -void UnionDatatypeValidator::checkContent(const XMLCh* const content, bool asBase) +void UnionDatatypeValidator::checkContent(const XMLCh* const content + , ValidationContext* const context + , bool asBase) { DatatypeValidator* bv = getBaseValidator(); if (bv) - ((UnionDatatypeValidator*)bv)->checkContent(content, true); + ((UnionDatatypeValidator*)bv)->checkContent(content, context, true); else { // 3) native union type // check content against each member type validator in Union @@ -346,7 +351,7 @@ try { - fMemberTypeValidators->elementAt(i)->validate(content); + fMemberTypeValidators->elementAt(i)->validate(content, context); memTypeValid = true; //set the validator of the type actually used to validate the content 1.12 +15 -5 xml-xerces/c/src/xercesc/validators/datatype/UnionDatatypeValidator.hpp Index: UnionDatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/UnionDatatypeValidator.hpp,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- UnionDatatypeValidator.hpp 7 Oct 2003 19:39:03 -0000 1.11 +++ UnionDatatypeValidator.hpp 12 Nov 2003 20:32:03 -0000 1.12 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.12 2003/11/12 20:32:03 peiyongz + * Statless Grammar: ValidationContext + * * Revision 1.11 2003/10/07 19:39:03 peiyongz * Implementation of Serialization/Deserialization * @@ -204,7 +207,11 @@ * is not valid. */ - void validate(const XMLCh* const content); + virtual void validate + ( + const XMLCh* const content + , ValidationContext* const context = 0 + ); /** * Checks whether a given type can be used as a substitute @@ -289,7 +296,9 @@ private: - void checkContent(const XMLCh* const content, bool asBase); + virtual void checkContent(const XMLCh* const content + , ValidationContext* const context + , bool asBase); void init(DatatypeValidator* const baseValidator , RefHashTableOf<KVStringPair>* const facets @@ -334,9 +343,10 @@ return (DatatypeValidator*) new (manager) UnionDatatypeValidator(this, facets, enums, finalSet, manager, fMemberTypeValidators, true); } -inline void UnionDatatypeValidator::validate( const XMLCh* const content) +inline void UnionDatatypeValidator::validate( const XMLCh* const content + , ValidationContext* const context) { - checkContent(content, false); + checkContent(content, context, false); } inline void UnionDatatypeValidator::cleanUp()
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]