DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8837>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8837 Parser enters endless loop when schema processing is enabled Summary: Parser enters endless loop when schema processing is enabled Product: Xerces-C++ Version: 1.7.0 Platform: PC OS/Version: Windows NT/2K Status: NEW Severity: Normal Priority: Other Component: Validating Parser (Schema) (Xerces 1.5 or up only) AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] If you try to parse an XML file that uses the schema below for validation the call to parse() doesn't return. If validation is turned off everything works fine. To reproduce the bug, use DOMCount or SAXCount from the parser's sample application suite and switch validation on: DOMCount.exe -v=always -n -s -f sample.xml The XML file doesn't seem to matter - the one that is attached was automatically generated by XML spy. The schema file seems to be ok, at least XML spy and SQC2.0 can't find anything to complain about. The same problem also shows up on Solaris 2.7 (parser built with gcc 2.95.3), so I don't think it's a platform or OS issue. Thanks, Udo SCHEMA: <?xml version="1.0" encoding="UTF-8"?> <!-- edited with XML Spy v4.1 U (http://www.xmlspy.com) by x --> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:simpleType name="MAX_NUMBER_OF_PDE_BITS_TYPE"> <xsd:restriction base="xsd:integer"> <xsd:maxInclusive value="12"/> <xsd:minInclusive value="0" fixed="false"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="MAX_NUMBER_OF_FILTERS_TYPE"> <xsd:restriction base="xsd:integer"> <xsd:maxInclusive value="50"/> <xsd:minInclusive value="0" fixed="false"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="MAX_CLOCK_FREQUENCY_MHZ_TYPE"> <xsd:restriction base="xsd:integer"> <xsd:maxInclusive value="200"/> <xsd:minInclusive value="20" fixed="false"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="MAX_FASTS_PER_MOBILE_TYPE"> <xsd:restriction base="xsd:integer"> <xsd:enumeration value="4"/> <xsd:enumeration value="6"/> <xsd:enumeration value="8"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="MAX_NUMBER_OF_DL_MEMORY_BLOCKS_TYPE"> <xsd:restriction base="xsd:integer"> <xsd:maxInclusive value="40"/> <xsd:minInclusive value="20" fixed="false"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="USIGN8_TYPE"> <xsd:restriction base="xsd:integer"> <xsd:maxInclusive value="255"/> <xsd:minInclusive value="0" fixed="false"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="USIGN16_TYPE"> <xsd:restriction base="xsd:integer"> <xsd:maxInclusive value="65535"/> <xsd:minInclusive value="0"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="SIGN8_TYPE"> <xsd:restriction base="xsd:integer"> <xsd:maxInclusive value="127"/> <xsd:minInclusive value="-128"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="SIGN16_TYPE"> <xsd:restriction base="xsd:integer"> <xsd:maxInclusive value="32767"/> <xsd:minInclusive value="-32768"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="YES_NO_TYPE"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="YES"/> <xsd:enumeration value="NO"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="VERSION_NUMBER_TYPE"> <xsd:restriction base="xsd:string"> <xsd:pattern value="\d{2}.\d{2}.\d{2}"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="FILTER_COEFF_TYPE"> <xsd:sequence> <xsd:element name="COEFF8" type="SIGN8_TYPE" minOccurs="10" maxOccurs="10"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="FADING_FILTER_TYPE"> <xsd:sequence> <xsd:element name="FILTER_COEFF" type="FILTER_COEFF_TYPE"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="UPSAMPLING_FILTER_TYPE"> <xsd:sequence> <xsd:element name="FILTER_COEFF" type="FILTER_COEFF_TYPE"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="FILTERS_TYPE"> <xsd:sequence> <xsd:element name="UPSAMPLING_FILTER" type="UPSAMPLING_FILTER_TYPE"/> <xsd:element name="FADING_FILTER" type="FADING_FILTER_TYPE"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="FORMAT_TYPE"> <xsd:attribute name="NAME" type="xsd:string" use="required"/> <xsd:attribute name="Index" type="xsd:integer" use="required"/> </xsd:complexType> <xsd:complexType name="FORMAT_TABLE_TYPE"> <xsd:sequence> <xsd:element name="FORMAT" type="FORMAT_TYPE" maxOccurs="512"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="CODER_TYPE"> <xsd:sequence> <xsd:element name="MAX_NUMBER_OF_FILTERS" type="MAX_NUMBER_OF_FILTERS_TYPE"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="TRACKING_FASTS_TYPE"> <xsd:sequence> <xsd:element name="FREQ_ROTATOR_ENABLED" type="YES_NO_TYPE"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="DPT_SCHEDULING_TYPE"> <xsd:sequence> <xsd:element name="MAX_NUMBER_OF_DL_MEMORY_BLOCKS" type="MAX_NUMBER_OF_DL_MEMORY_BLOCKS_TYPE"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="PDE_BITS_TYPE"> <xsd:sequence> <xsd:element name="MAX_NUMBER_OF_PDE_BITS" type="MAX_NUMBER_OF_PDE_BITS_TYPE"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="FILE_TYPE"> <xsd:attribute name="FILENAME" type="xsd:string" use="required"/> <xsd:attribute name="ENTRIES" type="xsd:string" use="required"/> <xsd:attribute name="FORMAT" type="xsd:string" use="required"/> </xsd:complexType> <xsd:complexType name="EXECUTABLE_TYPE"> <xsd:sequence> <xsd:element name="FILE" type="FILE_TYPE"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="INIT_TABLE_TYPE"> <xsd:sequence> <xsd:element name="COEFF16" minOccurs="0" maxOccurs="4096"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="SIGN16_TYPE"> <xsd:attribute name="COMMENTS" type="xsd:string" use="optional"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> </xsd:sequence> <xsd:attribute name="address" type="USIGN16_TYPE" use="required"/> <xsd:attribute name="length" type="USIGN16_TYPE" use="required"/> </xsd:complexType> <xsd:complexType name="FAST_ENGINE0_TYPE"> <xsd:sequence> <xsd:element name="INIT_VALUES" type="INIT_TABLE_TYPE" minOccurs="0" maxOccurs="64"/> </xsd:sequence> <xsd:attribute name="defaultvalue" type="SIGN16_TYPE" use="required"/> </xsd:complexType> <xsd:complexType name="FAST_ENGINE1_TYPE"> <xsd:sequence> <xsd:element name="INIT_VALUES" type="INIT_TABLE_TYPE" minOccurs="0" maxOccurs="32"/> </xsd:sequence> <xsd:attribute name="defaultvalue" type="SIGN16_TYPE" use="required"/> </xsd:complexType> <xsd:complexType name="SLOW_ENGINE1_TYPE"> <xsd:sequence> <xsd:element name="INIT_VALUES" type="INIT_TABLE_TYPE" minOccurs="0" maxOccurs="3072"/> </xsd:sequence> <xsd:attribute name="defaultvalue" type="SIGN16_TYPE" use="required"/> </xsd:complexType> <xsd:complexType name="FAST_DMV_TYPE"> <xsd:sequence> <xsd:element name="EXECUTABLE" type="EXECUTABLE_TYPE"/> <xsd:element name="FAST_ENGINE0" type="FAST_ENGINE0_TYPE"/> <xsd:element name="FAST_ENGINE1" type="FAST_ENGINE1_TYPE"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="SLOW_DMV_TYPE"> <xsd:sequence> <xsd:element name="EXECUTABLE" type="EXECUTABLE_TYPE"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="DMV_TYPE"> <xsd:sequence> <xsd:element name="FAST_DMV" type="FAST_DMV_TYPE"/> <xsd:element name="SLOW_DMV" type="SLOW_DMV_TYPE"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="MODULE_TYPE"> <xsd:sequence> <xsd:element name="FORMAT_TABLE" type="FORMAT_TABLE_TYPE"/> <xsd:element name="CODER" type="CODER_TYPE"/> <xsd:element name="TRACKING_FASTS" type="TRACKING_FASTS_TYPE"/> <xsd:element name="FILTERS" type="FILTERS_TYPE"/> <xsd:element name="DMV" type="DMV_TYPE"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="NOISE_DETECTION_ENGINE_TYPE"> <xsd:sequence> <xsd:element name="PDE_BITS" type="PDE_BITS_TYPE"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="MY_TYPE"> <xsd:sequence> <xsd:element name="HW_VERSION" type="VERSION_NUMBER_TYPE"/> <xsd:element name="DPT_VERSION" type="VERSION_NUMBER_TYPE"/> <xsd:element name="CONFIG_MANAGER_VERSION" type="VERSION_NUMBER_TYPE"/> <xsd:element name="MAX_CLOCK_FREQUENCY_MHZ" type="MAX_CLOCK_FREQUENCY_MHZ_TYPE"/> <xsd:element name="DPT_SCHEDULING" type="DPT_SCHEDULING_TYPE"/> <xsd:element name="MODULE" type="MODULE_TYPE"/> <xsd:element name="NOISE_DETECTION_ENGINE" type="NOISE_DETECTION_ENGINE_TYPE"/> </xsd:sequence> </xsd:complexType> <xsd:element name="MY_CHIP" type="MY_TYPE"/> </xsd:schema> SAMPLE XML FILE: <?xml version="1.0" encoding="UTF-8"?> <!--Sample XML file generated by XML Spy v4.1 U (http://www.xmlspy.com)--> <MY_CHIP xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="sample.xsd"> <HW_VERSION>00x00x00</HW_VERSION> <DPT_VERSION>00x00x00</DPT_VERSION> <CONFIG_MANAGER_VERSION>00x00x00</CONFIG_MANAGER_VERSION> <MAX_CLOCK_FREQUENCY_MHZ>20</MAX_CLOCK_FREQUENCY_MHZ> <DPT_SCHEDULING> <MAX_NUMBER_OF_DL_MEMORY_BLOCKS>20</MAX_NUMBER_OF_DL_MEMORY_BLOCKS> </DPT_SCHEDULING> <MODULE> <FORMAT_TABLE> <FORMAT NAME="String" Index="0"/> </FORMAT_TABLE> <CODER> <MAX_NUMBER_OF_FILTERS>0</MAX_NUMBER_OF_FILTERS> </CODER> <TRACKING_FASTS> <FREQ_ROTATOR_ENABLED>YES</FREQ_ROTATOR_ENABLED> </TRACKING_FASTS> <FILTERS> <UPSAMPLING_FILTER> <FILTER_COEFF> <COEFF8>-128</COEFF8> <COEFF8>-128</COEFF8> <COEFF8>-128</COEFF8> <COEFF8>-128</COEFF8> <COEFF8>-128</COEFF8> <COEFF8>-128</COEFF8> <COEFF8>-128</COEFF8> <COEFF8>-128</COEFF8> <COEFF8>-128</COEFF8> <COEFF8>-128</COEFF8> </FILTER_COEFF> </UPSAMPLING_FILTER> <FADING_FILTER> <FILTER_COEFF> <COEFF8>-128</COEFF8> <COEFF8>-128</COEFF8> <COEFF8>-128</COEFF8> <COEFF8>-128</COEFF8> <COEFF8>-128</COEFF8> <COEFF8>-128</COEFF8> <COEFF8>-128</COEFF8> <COEFF8>-128</COEFF8> <COEFF8>-128</COEFF8> <COEFF8>-128</COEFF8> </FILTER_COEFF> </FADING_FILTER> </FILTERS> <DMV> <FAST_DMV> <EXECUTABLE> <FILE FILENAME="String" ENTRIES="String" FORMAT="String"/> </EXECUTABLE> <FAST_ENGINE0 defaultvalue="-32768"> <INIT_VALUES address="0" length="0"> <COEFF16 COMMENTS="String">-32768</COEFF16> </INIT_VALUES> </FAST_ENGINE0> <FAST_ENGINE1 defaultvalue="-32768"> <INIT_VALUES address="0" length="0"> <COEFF16 COMMENTS="String">-32768</COEFF16> </INIT_VALUES> </FAST_ENGINE1> </FAST_DMV> <SLOW_DMV> <EXECUTABLE> <FILE FILENAME="String" ENTRIES="String" FORMAT="String"/> </EXECUTABLE> </SLOW_DMV> </DMV> </MODULE> <NOISE_DETECTION_ENGINE> <PDE_BITS> <MAX_NUMBER_OF_PDE_BITS>0</MAX_NUMBER_OF_PDE_BITS> </PDE_BITS> </NOISE_DETECTION_ENGINE> </MY_CHIP> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]