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

                 Key: XERCESJ-1538
                 URL: https://issues.apache.org/jira/browse/XERCESJ-1538
             Project: Xerces2-J
          Issue Type: Bug
          Components: JAXP (javax.xml.validation)
    Affects Versions: 2.11.0
         Environment: Windows 7 x64, Java 6 Update 26 x64 
            Reporter: Denis Orekhov


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.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: j-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: j-dev-h...@xerces.apache.org

Reply via email to