knoaman     2003/01/15 11:24:16

  Modified:    c/src/xercesc/validators/schema TraverseSchema.cpp
  Log:
  Check the value of the 'namespace' attribute of wildcards to be valid anyURI.
  
  Revision  Changes    Path
  1.57      +16 -1     xml-xerces/c/src/xercesc/validators/schema/TraverseSchema.cpp
  
  Index: TraverseSchema.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/TraverseSchema.cpp,v
  retrieving revision 1.56
  retrieving revision 1.57
  diff -u -r1.56 -r1.57
  --- TraverseSchema.cpp        15 Jan 2003 15:32:15 -0000      1.56
  +++ TraverseSchema.cpp        15 Jan 2003 19:24:16 -0000      1.57
  @@ -1689,6 +1689,7 @@
           ContentSpecNode* firstNode = 0;
           ContentSpecNode* secondNode = 0;
           unsigned int tokensSize = nameSpaceTokens->size();
  +        DatatypeValidator* anyURIDV = 
fDatatypeRegistry->getDatatypeValidator(SchemaSymbols::fgDT_ANYURI);
   
           for (unsigned int i=0; i < tokensSize; i++) {
   
  @@ -1701,6 +1702,12 @@
                       uriIndex = fTargetNSURI;
                   }
                   else {
  +                    try {
  +                        anyURIDV->validate(tokenElem);
  +                    }
  +                    catch(const XMLException& excep) {
  +                        reportSchemaError(elem, XMLUni::fgXMLErrDomain, 
XMLErrs::DisplayErrorMessage, excep.getMessage());
  +                    }
                       uriIndex = fURIStringPool->addOrFind(tokenElem);
                   }
               }
  @@ -3678,6 +3685,7 @@
       else {
   
           XMLStringTokenizer tokenizer(nameSpace);
  +        DatatypeValidator* anyURIDV = 
fDatatypeRegistry->getDatatypeValidator(SchemaSymbols::fgDT_ANYURI);
   
           attType = XMLAttDef::Any_List;
   
  @@ -3692,6 +3700,13 @@
                   uriIndex = fTargetNSURI;
               }
               else {
  +
  +                try {
  +                    anyURIDV->validate(token);
  +                }
  +                catch(const XMLException& excep) {
  +                    reportSchemaError(elem, XMLUni::fgXMLErrDomain, 
XMLErrs::DisplayErrorMessage, excep.getMessage());
  +                }
                   uriIndex = fURIStringPool->addOrFind(token);
               }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to