[
https://issues.apache.org/jira/browse/XERCESJ-1538?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13169401#comment-13169401
]
Denis Orekhov commented on XERCESJ-1538:
----------------------------------------
I sent all data that Mukul asked me.
Last mail that I recieved was:
"Mukul,
A javax.xml.validation.Schema [1] is required to be thread-safe. Xerces has a
bug if it doesn't satisfy that.
Den mentioned that this problem occurs even when SchemaFactory and Schema
objects are not shared between threads. That sounds very much like there's a
statically mutable field somewhere within Xerces or Psychopath that is causing
this issue. If multiple threads can't validate assertions simultaneously we
need to fix that.
Thanks.
[1]
http://xerces.apache.org/xerces2-j/javadocs/api/javax/xml/validation/Schema.html
...
> Therefore I can run fine, with your use case in single thread
> scenario. Your java application example, is pretty involved and would
> require detailed investigation, to conclude if your observation is a
> bug with Xerces.
>
> I think, compliance of a XSD processor to the XSD language, doesn't
> require threading issues to be considered, and achieving specific
> validation objectives (like validation in multhithreading context)
> must have an external design from the application and/or schema
> authors. With this thought, I think Xerces may not have a bug, for the
> use case that you've shared with us."
I use synchronized method for xsd validation in my code now.
And is the bug or no - you decide...
> 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: [email protected]
For additional commands, e-mail: [email protected]