Hi All,
I am using the loadGrammar function of class SAX2XMLReaderImpl for
loadding the grammar of XSD. But it is hanging in class DFAContentModel
in member function calcFollowList. I don't know the reason why it is
hanging.
Here is the code snippet I am using

const bool schemaFullChecking = true;
    
SAX2XMLReaderImpl* parser = new
SAX2XMLReaderImpl(XMLPlatformUtils::fgMemoryManager, grammarPool);
Janitor<SAX2XMLReaderImpl> janParser(parser);
 
parser->setFeature(XMLUni::fgSAX2CoreNameSpaces, true);
parser->setFeature(XMLUni::fgXercesSchema, true);
parser->setFeature(XMLUni::fgXercesSchemaFullChecking,
schemaFullChecking);
parser->setFeature(XMLUni::fgSAX2CoreNameSpacePrefixes, false);
parser->setFeature(XMLUni::fgSAX2CoreValidation, true);
parser->setFeature(XMLUni::fgXercesDynamic, true);
XSDErrorHandler* errorHandler = new XSDErrorHandler();  
Janitor<XSDErrorHandler> janErrorHandler(errorHandler);
parser->setErrorHandler(errorHandler);
Grammar* result = parser->loadGrammar(xsdFileName,
Grammar::SchemaGrammarType, true);


I am also giving the xsd file I am using. It is simple xsd file.

<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema";
targetNamespace="http://xsdtesting"; xmlns:x="http://xsdtesting";
xmlns:imp="http://importedXSD";>
        <xsd:complexType name="B">
                <xsd:sequence>
                        <xsd:element name="foo" minOccurs="1" maxOccurs="1"/>
                        <xsd:any namespace="##any" minOccurs="0" 
maxOccurs="unbounded"/>
                </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="R">
                <xsd:complexContent>
                        <xsd:restriction base="x:B">
                                <xsd:sequence>
                                        <xsd:element name="foo" minOccurs="1" 
maxOccurs="1"/>
                                        <xsd:choice minOccurs="1" maxOccurs="1">
                                                <xsd:element name="e1" 
minOccurs="1" maxOccurs="30000"/>
                                        </xsd:choice>
                                </xsd:sequence>
                        </xsd:restriction>
                </xsd:complexContent>
        </xsd:complexType>
        <xsd:element name="doc">
                <xsd:complexType>
                        <xsd:choice>
                                <xsd:element name="elem" type="x:R"/>
                        </xsd:choice>
                </xsd:complexType>
        </xsd:element>
</xsd:schema>
  

Thanks.
Regards,
Umesh


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

Reply via email to