Uploaded image for project: 'Xerces2-J'
  1. Xerces2-J
  2. XERCESJ-1538

Multithread validation failed in Xerces2 with XML Schema 1.1 support when assert instruction in XSD

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Incomplete
    • 2.11.0
    • None
    • None
    • Windows 7 x64, Java 6 Update 26 x64

    Description

      I'm using Xerces2 Java 2.11.0 (XML Schema 1.1) (Beta) in my app. Schema validation in my app can occurs simultaneously in separate threads.
      This is part of my xsd:

      <xs:element name="action">
      <xs:complexType>
      <xs:all>
      <xs:element name="main_context" minOccurs="0" />
      <xs:element name="navigator" minOccurs="0">
      <xs:complexType>
      <xs:attribute name="element" type="xs:string" />
      <xs:attribute name="refresh" type="xs:boolean" />
      </xs:complexType>
      </xs:element>
      <xs:element name="datapanel" minOccurs="0">
      <xs:complexType>
      <xs:sequence>
      <xs:element name="element" maxOccurs="unbounded"
      minOccurs="0">
      <xs:complexType>
      <xs:sequence>
      <xs:element name="add_context" minOccurs="0" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:string" use="required" />
      <xs:attribute name="refresh_context_only" type="xs:boolean" />
      <xs:attribute name="skip_refresh_context_only"
      type="xs:boolean" />
      <xs:attribute name="keep_user_settings" type="xs:boolean" />
      </xs:complexType>
      </xs:element>
      </xs:sequence>
      <xs:attribute name="type" type="xs:string" use="required" />
      <xs:attribute name="tab" type="xs:string" />
      </xs:complexType>
      </xs:element>
      <xs:element name="server" minOccurs="0">
      <xs:complexType>
      <xs:sequence>
      <xs:element name="activity" minOccurs="0" maxOccurs="unbounded">
      <xs:complexType>
      <xs:sequence>
      <xs:element name="add_context" minOccurs="0" />
      </xs:sequence>
      <xs:attribute name="type" type="xs:string"
      use="required" />
      </xs:complexType>
      </xs:element>
      </xs:sequence>
      </xs:complexType>
      </xs:element>
      </xs:all>
      <xs:assert
      test="(count(datapanel) + count(server) =0) or (count(*[position()=1 and name()='main_context']) = 1)" />
      </xs:complexType>
      </xs:element>

      And sometimes I have SAXException with text "cvc-assertion.3.13.4.1: Assertion evaluation ('(count(datapanel) + count(server) =0) or (count(*[position()=1 and name()='main_context']) = 1)') for element 'action' with type '#anonymous' did not succeed.".
      I checked my data and schema text before validation error - both is good.

      Attachments

        1. multiThread.zip
          2.67 MB
          Denis Orekhov

        Activity

          People

            Unassigned Unassigned
            or_den Denis Orekhov
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: