gareth      2002/12/31 08:35:41

  Modified:    c/src/xercesc/validators/schema TraverseSchema.cpp
  Log:
  DatatypeValidators anonymous flag was only being set if the validator was used twice 
in a schema.
  
  Revision  Changes    Path
  1.46      +14 -12    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.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- TraverseSchema.cpp        19 Dec 2002 14:06:37 -0000      1.45
  +++ TraverseSchema.cpp        31 Dec 2002 16:35:40 -0000      1.46
  @@ -1038,25 +1038,27 @@
                   popCurrentTypeNameStack();
                   return 0;
               }
  -
  -            return traverseByList(childElem, content, name, fullName, finalSet);
  +            
  +            DatatypeValidator *tmpDV = traverseByList(childElem, content, name, 
fullName, finalSet);
  +            if(nameEmpty)
  +                tmpDV->setAnonymous();
  +            return tmpDV;
           }
           else if (XMLString::equals(varietyName, SchemaSymbols::fgELT_RESTRICTION)) 
{ //traverse Restriction
  -            return traverseByRestriction(childElem, content, name, fullName, 
finalSet);
  +            DatatypeValidator *tmpDV = traverseByRestriction(childElem, content, 
name, fullName, finalSet);
  +            if(nameEmpty)
  +                tmpDV->setAnonymous();
  +            return tmpDV;
           }
           else if (XMLString::equals(varietyName, SchemaSymbols::fgELT_UNION)) { 
//traverse union
  -            return traverseByUnion(childElem, content, name, fullName, finalSet, 
baseRefContext);
  +            DatatypeValidator *tmpDV = traverseByUnion(childElem, content, name, 
fullName, finalSet, baseRefContext);
  +            if(nameEmpty)
  +                tmpDV->setAnonymous();
  +            return tmpDV;
           }
           else {
               reportSchemaError(content, XMLUni::fgXMLErrDomain, 
XMLErrs::FeatureUnsupported, varietyName);
               popCurrentTypeNameStack();
  -        }
  -    }
  -
  -
  -    if(dv) {
  -        if(nameEmpty) {
  -            dv->setAnonymous();
           }
       }
   
  
  
  

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

Reply via email to