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 Michael Glavassevich XML Parser Development IBM Toronto Lab E-mail: [email protected] E-mail: [email protected] Mukul Gandhi <[email protected]> wrote on 10/01/2011 12:41:36 AM: > Hi Den, > Thanks for sharing the application logic. > > Would be nice if you can post future comments/attachments for a > issue/bug been raised on the jira system itself, as Michael pointed to > keep a issue thread tied in one place. > > I've few comments to your mail below. > > On Thu, Sep 29, 2011 at 10:45 PM, Den Orekhoff <[email protected]> wrote: > > src\props_wrong.xml - it is wrong data for assertion. > > Your assertion expresion don't handle it because not check > > main_context element position. > > It seems I misunderstood the requirement and wrote a wrong XPath > expression. The right version that I must have written would be, > > if (datapanel or server) then main_context[not(preceding-sibling::*)] > else true() > > (you wrote that, element 'main_context' must be first child of element > 'action'; this means for me that element "main_context" should not > have an preceding-sibling elements, and that's what the modified > assertion above is achieving -- and this works for me with latest code > base from SVN) > > 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. > > > > > -- > Regards, > Mukul Gandhi > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected]
