Den, In future can you add large attachments such as these to the JIRA issue instead of posting them directly to the mailing list? Allows those who want to download it to grab it from JIRA without filling up all the subscribers in-boxes. Also keeps it associated with the JIRA issue so that folks can find it more easily later.
Thanks. Michael Glavassevich XML Parser Development IBM Toronto Lab E-mail: mrgla...@ca.ibm.com E-mail: mrgla...@apache.org Den Orekhoff <orekh...@gmail.com> wrote on 09/29/2011 01:15:00 PM: > I prepare project that demonstrate error in multithread scenario. > For run - launch Runner.java. > In Runner.java you can change delay between running threads. > Validation error appearance depends on this time. > May be it indicate to memory allocation error... > > src\props_wrong.xml - it is wrong data for assertion. > Your assertion expresion don't handle it because not check > main_context element position. > > src\schemas\webtextSettingsFull2.xsd contains initial assertion expresion, > src\schemas\webtextSettingsFull.xsd contains yours variant. > > You can switch schema in src\ValidatingThread.java. > > 2011/9/28 Mukul Gandhi (Commented) (JIRA) <xerces-j-...@xml.apache.org>: > > > > [ https://issues.apache.org/jira/browse/XERCESJ-1538? > page=com.atlassian.jira.plugin.system.issuetabpanels:comment- > tabpanel&focusedCommentId=13116583#comment-13116583 ] > > > > Mukul Gandhi commented on XERCESJ-1538: > > --------------------------------------- > > > > Xerces (the latest code base from SVN) reports your schema to be > correct. And it also reports the XML document that you've posted, to > be valid as per the schema you've posted. > > > > It seems your sample XML doesn't have any "datapanel" or "server" > elements (so I couldn't test assertion [particularly the failure > scenario] specified in your schema, with the test case that you've > posted). If you may want to post a modified test case with assertion > success and failure scenarios both, then that would be helpful for > us to determine if the observation you're experiencing is a bug. > > > > If you want us to test the multithreaded scenario, then it would > help us if you could post the end to end java application, so Xerces > developers can verify the behavior you're mentioning. > > > > May I also suggest a modified assertion XPath expression as below, > that probably solves your use case (easy for me to understand at > least the logic of assertion), > > > > if (datapanel or server) then main_context[../self::action] else true() > > > > (I couldn't test this expression, since your sample XML instance > doesn't have a failure scenario -- I would ideally like to have such > a test case, so our verification of the bug is easier) > > > >> 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