Hi
 
I'm not too sure if this is a bug - I have a simple schema, and if I parse the schema and begin to traverse down through the schemagrammer, I get to the first complexType. Xerces tells me that the element "responsemodel" is a XSElementDecl.SCOPE_GLOBAL. Is this correct? Surely it should be a XSElementDecl.SCOPE_LOCAL? As a consequence, I cannot get the complexType.
 
I'm using the latest version of xercesImpl.jar (29-Jul-2003)
 
Regards
Nick
 
grammer = (SchemaGrammar)preparser.preparseGrammar(XMLGrammarDescription.XML_SCHEMA, xmlInputSource);
xsNamedMap = grammer.getComponents(XSConstants.ELEMENT_DECLARATION);
for (int i=0; i<xsNamedMap.getLength(); i++ ) {
            XSObject object = xsNamedMap.item(i);
            XSElementDecl xsElementDecl = (XSElementDecl)object;
            if (xsElementDecl.getScope()==XSElementDecl.SCOPE_GLOBAL) {
 ..... etc
 
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    attributeFormDefault="unqualified" elementFormDefault="qualified">
    <xs:element name="responsemodel">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="response" type="xs:string"/>
                <xs:element name="exceptionThrown" type="xs:boolean"/>
                <xs:element name="exceptionMessage" minOccurs="0" type="xs:string"/>
                <xs:sequence>
                    <xs:element name="children" minOccurs="0"
                        maxOccurs="unbounded" type="xs:string"/>
                </xs:sequence>
                <xs:element name="booleanResponse" minOccurs="0" type="xs:boolean"/>
                <xs:element name="byteResponse" minOccurs="0" type="xs:base64Binary"/>
                <xs:element name="calendarResponse" minOccurs="0" type="xs:date"/>
                <xs:element name="longResponse" minOccurs="0" type="xs:int"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

Reply via email to