[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xerces-cvs
Subject:    svn commit: r359482 - in /xerces/c/trunk/src/xercesc/validators/datatype:
From:       cargilld () apache ! org
Date:       2005-12-28 11:02:32
Message-ID: 20051228110233.90151.qmail () minotaur ! apache ! org
[Download RAW message or body]

Author: cargilld
Date: Wed Dec 28 03:02:30 2005
New Revision: 359482

URL: http://svn.apache.org/viewcvs?rev=359482&view=rev
Log:
Schema fixes for union of union and empty element.

Modified:
    xerces/c/trunk/src/xercesc/validators/datatype/DatatypeValidatorFactory.cpp
    xerces/c/trunk/src/xercesc/validators/datatype/UnionDatatypeValidator.hpp

Modified: xerces/c/trunk/src/xercesc/validators/datatype/DatatypeValidatorFactory.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/validators/datatype/DatatypeValidatorFactory.cpp?rev=359482&r1=359481&r2=359482&view=diff
 ==============================================================================
--- xerces/c/trunk/src/xercesc/validators/datatype/DatatypeValidatorFactory.cpp \
                (original)
+++ xerces/c/trunk/src/xercesc/validators/datatype/DatatypeValidatorFactory.cpp Wed \
Dec 28 03:02:30 2005 @@ -337,8 +337,12 @@
                                 \
getDatatypeValidator(SchemaSymbols::fgDT_TOKEN),facets, 0, false, 0, false);  
                 // Create 'NMTOKENS' datatype validator
+                facets = new RefHashTableOf<KVStringPair>(2);
+                facets->put((void*) SchemaSymbols::fgELT_MINLENGTH,
+                            new KVStringPair(SchemaSymbols::fgELT_MINLENGTH, \
XMLUni::fgValueOne)); +
                 createDatatypeValidator(XMLUni::fgNmTokensString,
-        	                     getDatatypeValidator(XMLUni::fgNmTokenString), 0, 0, \
true, 0, false); +        	                     \
getDatatypeValidator(XMLUni::fgNmTokenString), facets, 0, true, 0, false);  
                 // Create 'language' datatype validator
                 facets = new RefHashTableOf<KVStringPair>(3);
@@ -504,24 +508,33 @@
                 dv->setTypeName(XMLUni::fgEntityString, \
                SchemaSymbols::fgURI_SCHEMAFORSCHEMA);
                 fBuiltInRegistry->put((void*) XMLUni::fgEntityString, dv);
 
+                facets = new RefHashTableOf<KVStringPair>(2);
+                facets->put((void*) SchemaSymbols::fgELT_MINLENGTH,
+                            new KVStringPair(SchemaSymbols::fgELT_MINLENGTH, \
XMLUni::fgValueOne)); +
                 // Create 'IDREFS' datatype validator
                 createDatatypeValidator
                 (
                     XMLUni::fgIDRefsString
                   , getDatatypeValidator(XMLUni::fgIDRefString)
-                  , 0
+                  , facets
                   , 0
                   , true
                   , 0
                   , false
                 );
 
+                facets = new RefHashTableOf<KVStringPair>(2);
+
+                facets->put((void*) SchemaSymbols::fgELT_MINLENGTH,
+                            new KVStringPair(SchemaSymbols::fgELT_MINLENGTH, \
XMLUni::fgValueOne)); +
                // Create 'ENTITIES' datatype validator
                createDatatypeValidator
                (
                    XMLUni::fgEntitiesString
                  , getDatatypeValidator(XMLUni::fgEntityString)
-                 , 0
+                 , facets
                  , 0
                  , true
                  , 0

Modified: xerces/c/trunk/src/xercesc/validators/datatype/UnionDatatypeValidator.hpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/validators/datatype/UnionDatatypeValidator.hpp?rev=359482&r1=359481&r2=359482&view=diff
 ==============================================================================
--- xerces/c/trunk/src/xercesc/validators/datatype/UnionDatatypeValidator.hpp \
                (original)
+++ xerces/c/trunk/src/xercesc/validators/datatype/UnionDatatypeValidator.hpp Wed Dec \
28 03:02:30 2005 @@ -298,6 +298,9 @@
         unsigned int memberSize = fMemberTypeValidators->size();
 
         for (unsigned int i=0; i < memberSize; i++) {
+
+            if (fMemberTypeValidators->elementAt(i)->getType() == \
DatatypeValidator::Union) +                return false;
             if (fMemberTypeValidators->elementAt(i)->isSubstitutableBy(toCheck)) {
                 return true;
             }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic