knoaman 2004/11/25 09:03:19
Modified: c/src/xercesc/validators/schema TraverseSchema.cpp
Log:
Fix for synthetic annotation generation on 'extension' element of
simpleContent
Revision Changes Path
1.126 +15 -15
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.125
retrieving revision 1.126
diff -u -r1.125 -r1.126
--- TraverseSchema.cpp 18 Nov 2004 16:20:06 -0000 1.125
+++ TraverseSchema.cpp 25 Nov 2004 17:03:18 -0000 1.126
@@ -3469,6 +3469,20 @@
throw TraverseSchema::InvalidComplexTypeInfo;
}
+ //Skip over any annotations in the restriction or extension elements
+ DOMElement* content = checkContent(simpleContent,
XUtil::getFirstChildElement(simpleContent), true);
+ if (fScanner->getGenerateSyntheticAnnotations() && !fAnnotation &&
fNonXSAttList->size())
+ {
+ fAnnotation = generateSyntheticAnnotation(simpleContent,
fNonXSAttList);
+ }
+ if (fAnnotation)
+ {
+ if (janAnnot->isDataNull())
+ janAnnot->reset(fAnnotation);
+ else
+ janAnnot->get()->setNext(fAnnotation);
+ }
+
//
-----------------------------------------------------------------------
// Handle the base type name
//
-----------------------------------------------------------------------
@@ -3542,20 +3556,6 @@
//
-----------------------------------------------------------------------
// Process the content of the derivation
//
-----------------------------------------------------------------------
- //Skip over any annotations in the restriction or extension elements
- DOMElement* content = checkContent(simpleContent,
XUtil::getFirstChildElement(simpleContent), true);
- if (fScanner->getGenerateSyntheticAnnotations() && !fAnnotation &&
fNonXSAttList->size())
- {
- fAnnotation = generateSyntheticAnnotation(simpleContent,
fNonXSAttList);
- }
- if (fAnnotation)
- {
- if (janAnnot->isDataNull())
- janAnnot->reset(fAnnotation);
- else
- janAnnot->get()->setNext(fAnnotation);
- }
-
if (typeInfo->getDerivedBy() == SchemaSymbols::XSD_RESTRICTION) {
//Schema Spec: 5.11: Complex Type Definition Properties Correct: 2
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]