Piotr Darosz created XMLBEANS-655:
-------------------------------------
Summary: XQuery FLWOR expression does not iterate through all
child nodes.
Key: XMLBEANS-655
URL: https://issues.apache.org/jira/browse/XMLBEANS-655
Project: XMLBeans
Issue Type: Bug
Components: XmlObject
Affects Versions: Version 5.2.2, Version 4.0.0
Reporter: Piotr Darosz
Attachments: xmlbeans-problem-example.zip
The following query worked fine when executed with XmlBeans 3.1.0 and Saxon-HE
9.5.
{{XmlObject.execQuery(...)}}
{code:java}
declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace testns='http://localhost/test_service/Service1.asmx';
for $z in //testns:test
order by $z/testns:test_string
return <result>{data($z/testns:test_string)}</result> {code}
Following the upgrade to XmlBeans 5.2.2, there seems to be a regression: the
query returns only a single match. Tracked it back to changes introduced in
XmlBeans 4.0.0
([https://svn.apache.org/viewvc?view=revision&revision=1877931]), all revisions
before that one had returned the expected result
Given the XML document:
{code:java}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<testns:StrokaResponse
xmlns:testns="http://localhost/test_service/Service1.asmx">
<testns:StrokaResult>
<testns:test>
<!--Integer value 1-->
<testns:test_int>123</testns:test_int>
<!--String value 1-->
<testns:test_string>Test String</testns:test_string>
</testns:test>
<testns:test>
<!--Integer value 2-->
<testns:test_int>256</testns:test_int>
<!--String value 2-->
<testns:test_string>New Value</testns:test_string>
</testns:test>
<testns:test>
<!--Integer value 3-->
<testns:test_int>1289</testns:test_int>
<!--String value 3-->
<testns:test_string>Qwerty</testns:test_string>
</testns:test>
</testns:StrokaResult>
</testns:StrokaResponse>
</soap:Body>
</soap:Envelope> {code}
Expected result:
{code:java}
<result>New Value</result>
<result>Qwerty</result>
<result>Test String</result>
{code}
Actual result:
{code:java}
<result>Test String</result>{code}
It works fine when ran against Saxon-HE 12.5 JAR in the command line.
Attached a sample Maven project with the exact issue replicated.
Could you provide guidance how this can be resolved?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]