You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by pe...@apache.org on 2003/11/12 21:32:04 UTC
cvs commit: xml-xerces/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
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: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org