Is this a bug?

Максим Гумеров <[email protected]> Wed, 2 Dec 2015 19:13:24 +0500
Newsgroups gmane.text.xml.xalan.java.user
Message-ID <CAF23EvCpgF3BSkrtPj6ORZoB+0O-0fBsh4PvM+e-ygT-FBqiSw@mail.gmail.com>
--001a11407ed8a505080525eae092
Content-Type: multipart/alternative; boundary=001a11407ed8a505030525eae090

--001a11407ed8a505030525eae090
Content-Type: text/plain; charset=UTF-8

Hello!
I tried to transform the attached XML with the attached XSL.
This is the Java source:

final TransformerFactory trf = TransformerFactory.newInstance();
final Transformer tr = trf.newTransformer(new
StreamSource(_formxsl.getInputStream()));
tr.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
tr.setOutputProperty(OutputKeys.INDENT, "no");


StringWriter writer = new StringWriter();
final StreamResult result = new StreamResult(writer);
tr.transform(new StreamSource(_formxml.getInputStream()), result);
writer.flush();
writer.toString();


_formxsl and _formxml are both Resource, they are attached to this message.

The transform result by
http://xslt.online-toolz.com/tools/xslt-transformation.php (*AND*
http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=cdcatalog)
looks like this:

<?xml version="1.0"?>
<ros:relobjects
xmlns:ros="urn://x-artefacts-vs-it-ru/p321/schema/relobjects/1.0"
xmlns:bo="urn://x-artefacts-it-ru/p321/Application/1.0"
xmlns:fo="urn://x-artefacts-it-ru/p321/Step2Form/1.0"
xmlns:ct="urn://x-artefacts-it-ru/p321/ComplexTypes/1.0"
xmlns:st="urn://x-artefacts-it-ru/p321/SimpleTypes/1.0"
xmlns:da="urn://x-artefacts-it-ru/dob/document-attachment/1.1"><ros:RO
type="VEHICLE_OWNER_DRIVER" id="5672f6f9-176e-42cb-ae76-de1973a77bde">
<ros:BO role="VEHICLE"/>
<ros:BO role="OWNER"/>
<ros:BO role="DRIVER">76bd59e9-166c-4a22-9e6b-b196849be358</ros:BO>
<ros:BO role="DRIVER">5fb19f85-0617-4782-9a4f-fdc2a60c5e64</ros:BO>
<ros:BO role="DRIVER">f39bafdc-7fab-472d-965e-398e87a1472a</ros:BO>
</ros:RO></ros:relobjects>

But the result produced by Java is merely this:

<ros:relobjects
xmlns:ros="urn://x-artefacts-vs-it-ru/p321/schema/relobjects/1.0"
xmlns:da="urn://x-artefacts-it-ru/dob/document-attachment/1.1"
xmlns:st="urn://x-artefacts-it-ru/p321/SimpleTypes/1.0"
xmlns:ct="urn://x-artefacts-it-ru/p321/ComplexTypes/1.0"
xmlns:fo="urn://x-artefacts-it-ru/p321/Step2Form/1.0"
xmlns:bo="urn://x-artefacts-it-ru/p321/Application/1.0"><ros:RO
type="VEHICLE_OWNER_DRIVER"
id="5672f6f9-176e-42cb-ae76-de1973a77bde"/></ros:relobjects>
*- i.e. no BO elements at all.*

Why does this happen? Is there some mistake or undefined behavior in my
stylesheet?

Thank you!
Maksim

--001a11407ed8a505030525eae090
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hello!<div>I tried to transform the attached XML with the =
attached XSL.<div>This is the Java source:</div><div><pre style=3D"color:rg=
b(0,0,0);font-family:&#39;Courier New&#39;"><span style=3D"color:rgb(0,0,12=
8);font-weight:bold">final </span>TransformerFactory trf =3D TransformerFac=
tory.<span style=3D"font-style:italic">newInstance</span>();<br><span style=
=3D"color:rgb(0,0,128);font-weight:bold">final </span>Transformer tr =3D tr=
f.newTransformer(<span style=3D"color:rgb(0,0,128);font-weight:bold">new </=
span>StreamSource(<span style=3D"color:rgb(102,14,122);font-weight:bold">_f=
ormxsl</span>.getInputStream()));<br>tr.setOutputProperty(OutputKeys.<span =
style=3D"color:rgb(102,14,122);font-weight:bold;font-style:italic">OMIT_XML=
_DECLARATION</span>, <span style=3D"color:rgb(0,128,0);font-weight:bold">&q=
uot;yes&quot;</span>);<br>tr.setOutputProperty(OutputKeys.<span style=3D"co=
lor:rgb(102,14,122);font-weight:bold;font-style:italic">INDENT</span>, <spa=
n style=3D"color:rgb(0,128,0);font-weight:bold">&quot;no&quot;</span>);<br>=
<br><br>StringWriter writer =3D <span style=3D"color:rgb(0,0,128);font-weig=
ht:bold">new </span>StringWriter();<br><span style=3D"color:rgb(0,0,128);fo=
nt-weight:bold">final </span>StreamResult result =3D <span style=3D"color:r=
gb(0,0,128);font-weight:bold">new </span>StreamResult(writer);<br>tr.transf=
orm(<span style=3D"color:rgb(0,0,128);font-weight:bold">new </span>StreamSo=
urce(<span style=3D"color:rgb(102,14,122);font-weight:bold">_formxml</span>=
.getInputStream()), result);<br>writer.flush();<br>writer.toString();<br></=
pre></div></div><div><br></div><div>_formxsl and _formxml are both Resource=
, they are attached to this message.</div><div><br></div><div>The transform=
 result by=C2=A0<a href=3D"http://xslt.online-toolz.com/tools/xslt-transfor=
mation.php">http://xslt.online-toolz.com/tools/xslt-transformation.php</a> =
(<b>AND</b> <a href=3D"http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=3Dc=
dcatalog&amp;xsltfile=3Dcdcatalog">http://www.w3schools.com/xsl/tryxslt.asp=
?xmlfile=3Dcdcatalog&amp;xsltfile=3Dcdcatalog</a>) looks like this:</div><d=
iv><br></div><div><div>&lt;?xml version=3D&quot;1.0&quot;?&gt;</div><div>&l=
t;ros:relobjects xmlns:ros=3D&quot;urn://x-artefacts-vs-it-ru/p321/schema/r=
elobjects/1.0&quot; xmlns:bo=3D&quot;urn://x-artefacts-it-ru/p321/Applicati=
on/1.0&quot; xmlns:fo=3D&quot;urn://x-artefacts-it-ru/p321/Step2Form/1.0&qu=
ot; xmlns:ct=3D&quot;urn://x-artefacts-it-ru/p321/ComplexTypes/1.0&quot; xm=
lns:st=3D&quot;urn://x-artefacts-it-ru/p321/SimpleTypes/1.0&quot; xmlns:da=
=3D&quot;urn://x-artefacts-it-ru/dob/document-attachment/1.1&quot;&gt;&lt;r=
os:RO type=3D&quot;VEHICLE_OWNER_DRIVER&quot; id=3D&quot;5672f6f9-176e-42cb=
-ae76-de1973a77bde&quot;&gt;</div><div>&lt;ros:BO role=3D&quot;VEHICLE&quot=
;/&gt;</div><div>&lt;ros:BO role=3D&quot;OWNER&quot;/&gt;</div><div>&lt;ros=
:BO role=3D&quot;DRIVER&quot;&gt;76bd59e9-166c-4a22-9e6b-b196849be358&lt;/r=
os:BO&gt;</div><div>&lt;ros:BO role=3D&quot;DRIVER&quot;&gt;5fb19f85-0617-4=
782-9a4f-fdc2a60c5e64&lt;/ros:BO&gt;</div><div>&lt;ros:BO role=3D&quot;DRIV=
ER&quot;&gt;f39bafdc-7fab-472d-965e-398e87a1472a&lt;/ros:BO&gt;</div><div>&=
lt;/ros:RO&gt;&lt;/ros:relobjects&gt;</div></div><div><br></div><div>But th=
e result produced by Java is merely this:</div><div><br></div><div>&lt;ros:=
relobjects xmlns:ros=3D&quot;urn://x-artefacts-vs-it-ru/p321/schema/relobje=
cts/1.0&quot; xmlns:da=3D&quot;urn://x-artefacts-it-ru/dob/document-attachm=
ent/1.1&quot; xmlns:st=3D&quot;urn://x-artefacts-it-ru/p321/SimpleTypes/1.0=
&quot; xmlns:ct=3D&quot;urn://x-artefacts-it-ru/p321/ComplexTypes/1.0&quot;=
 xmlns:fo=3D&quot;urn://x-artefacts-it-ru/p321/Step2Form/1.0&quot; xmlns:bo=
=3D&quot;urn://x-artefacts-it-ru/p321/Application/1.0&quot;&gt;&lt;ros:RO t=
ype=3D&quot;VEHICLE_OWNER_DRIVER&quot; id=3D&quot;5672f6f9-176e-42cb-ae76-d=
e1973a77bde&quot;/&gt;&lt;/ros:relobjects&gt;<br></div><div><b>- i.e. no BO=
 elements at all.</b></div><div><br></div><div>Why does this happen? Is the=
re some mistake or undefined behavior in my stylesheet?</div><div><br></div=
><div>Thank you!</div><div>Maksim</div></div>

--001a11407ed8a505030525eae090--
--001a11407ed8a505080525eae092
Content-Type: text/xml; charset=windows-1251; name="form.xsl"
Content-Disposition: attachment; filename="form.xsl"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_ihow7qxp0

PHhzbDpzdHlsZXNoZWV0DQogICAgICAgIHZlcnNpb249IjEuMCINCiAgICAgICAgeG1sbnM6eHNs
PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iDQogICAgICAgIHhtbG5zOnJv
cz0idXJuOi8veC1hcnRlZmFjdHMtdnMtaXQtcnUvcDMyMS9zY2hlbWEvcmVsb2JqZWN0cy8xLjAi
DQogICAgICAgIHhtbG5zOmJvPSJ1cm46Ly94LWFydGVmYWN0cy1pdC1ydS9wMzIxL0FwcGxpY2F0
aW9uLzEuMCINCiAgICAgICAgeG1sbnM6Zm89InVybjovL3gtYXJ0ZWZhY3RzLWl0LXJ1L3AzMjEv
U3RlcDJGb3JtLzEuMCINCiAgICAgICAgeG1sbnM6Y3Q9InVybjovL3gtYXJ0ZWZhY3RzLWl0LXJ1
L3AzMjEvQ29tcGxleFR5cGVzLzEuMCINCiAgICAgICAgeG1sbnM6c3Q9InVybjovL3gtYXJ0ZWZh
Y3RzLWl0LXJ1L3AzMjEvU2ltcGxlVHlwZXMvMS4wIg0KICAgICAgICB4bWxuczpkYT0idXJuOi8v
eC1hcnRlZmFjdHMtaXQtcnUvZG9iL2RvY3VtZW50LWF0dGFjaG1lbnQvMS4xIj4NCg0KICAgIDx4
c2w6dGVtcGxhdGUgbWF0Y2g9Ii9mbzpTdGVwMkZvcm0vZm86dmRvIj4NCiAgICAgIDxyb3M6cmVs
b2JqZWN0cz4NCiAgICAgICAgICA8IS0tIMIg7eD45ewg7/Do7OXw5SDy7uv86u4g7uTt4CDi6+7m
5e3t4P8g8fP57e7x8vwgLS0+DQogICAgICAgICAgPHJvczpSTyB0eXBlPSJWRUhJQ0xFX09XTkVS
X0RSSVZFUiI+IDwhLS1pZCDk7uvm5e0g7/Do5fXg8vwg6Ocg9O7w7PsuIO3g5O4g8OX46PL8LCDj
5OUg7u0g8uDsIOHz5OXyLS0+DQogICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJpZCI+
PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBpZCIvPjwveHNsOmF0dHJpYnV0ZT4NCiAgICAgICAgICAg
IDx4c2w6YXBwbHktdGVtcGxhdGVzLz4NCiAgICAgICAgICA8L3JvczpSTz4NCiAgICAgIDwvcm9z
OnJlbG9iamVjdHM+DQogICAgPC94c2w6dGVtcGxhdGU+DQoNCiAgICA8eHNsOnRlbXBsYXRlIG1h
dGNoPSIvZm86U3RlcDJGb3JtL2ZvOnZkby9mbzpWZWhpY2xlIj4NCiAgICAgIDwhLS3S8/Ig6Oz/
IP3r5ezl7fLgIOTu6+bt7iDx7uLv4OTg8vwg8SDt4Ofi4O3o5ewg8O7r6C0tPg0KICAgICAgPHJv
czpCTyByb2xlPSJWRUhJQ0xFIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iZm86Z3VpZCIvPjwvcm9z
OkJPPg0KICAgIDwveHNsOnRlbXBsYXRlPg0KDQogICAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iL2Zv
OlN0ZXAyRm9ybS9mbzp2ZG8vZm86T3duZXIiPg0KICAgICAgPHJvczpCTyByb2xlPSJPV05FUiI+
PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImZvOmd1aWQiLz48L3JvczpCTz4NCiAgICA8L3hzbDp0ZW1w
bGF0ZT4NCg0KICAgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9Ii9mbzpTdGVwMkZvcm0vZm86dmRvL2Zv
OkRyaXZlciI+DQogICAgICA8cm9zOkJPIHJvbGU9IkRSSVZFUiI+PHhzbDp2YWx1ZS1vZiBzZWxl
Y3Q9ImZvOmd1aWQiLz48L3JvczpCTz4NCiAgICA8L3hzbDp0ZW1wbGF0ZT4NCg0KICAgIDx4c2w6
dGVtcGxhdGUgbWF0Y2g9Ii9mbzpTdGVwMkZvcm0vZm86dmRvLyoiPg0KICAgIDwveHNsOnRlbXBs
YXRlPg0KDQo8L3hzbDpzdHlsZXNoZWV0Pg0K
--001a11407ed8a505080525eae092
Content-Type: text/xml; charset=US-ASCII; name="form.xml"
Content-Disposition: attachment; filename="form.xml"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_ihow7qyg1

PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxuczI0OlN0ZXAyRm9ybSB4
bWxuczpuczM9InVybjovL3gtYXJ0ZWZhY3RzLWl0LXJ1L2RvYi9kb2N1bWVudC1hdHRhY2htZW50
LzEuMSIgeG1sbnM6bnMyMD0idXJuOi8veC1hcnRlZmFjdHMtaXQtcnUvcDMyMS9Db21wbGV4VHlw
ZXMvMS4wIiB4bWxuczpuczI0PSJ1cm46Ly94LWFydGVmYWN0cy1pdC1ydS9wMzIxL1N0ZXAyRm9y
bS8xLjAiPg0KICAgPG5zMjQ6dmRvIGlkPSI1NjcyZjZmOS0xNzZlLTQyY2ItYWU3Ni1kZTE5NzNh
NzdiZGUiPg0KICAgICAgPG5zMjQ6VmVoaWNsZT4NCiAgICAgICAgIDxuczI0Omd1aWQ+PC9uczI0
Omd1aWQ+DQogICAgICA8L25zMjQ6VmVoaWNsZT4NCiAgICAgIDxuczI0Ok93bmVyPg0KICAgICAg
ICAgPG5zMjQ6Z3VpZD48L25zMjQ6Z3VpZD4NCiAgICAgIDwvbnMyNDpPd25lcj4NCiAgICAgIDxu
czI0OkRyaXZlcj4NCiAgICAgICAgIDxuczI0Omd1aWQ+NzZiZDU5ZTktMTY2Yy00YTIyLTllNmIt
YjE5Njg0OWJlMzU4PC9uczI0Omd1aWQ+DQogICAgICAgICA8bnMyNDpkcml2ZXJOYW1lPnh4cjwv
bnMyNDpkcml2ZXJOYW1lPg0KICAgICAgPC9uczI0OkRyaXZlcj4NCiAgICAgIDxuczI0OkRyaXZl
cj4NCiAgICAgICAgIDxuczI0Omd1aWQ+NWZiMTlmODUtMDYxNy00NzgyLTlhNGYtZmRjMmE2MGM1
ZTY0PC9uczI0Omd1aWQ+DQogICAgICAgICA8bnMyNDpkcml2ZXJOYW1lPjwvbnMyNDpkcml2ZXJO
YW1lPg0KICAgICAgPC9uczI0OkRyaXZlcj4NCiAgICAgIDxuczI0OkRyaXZlcj4NCiAgICAgICAg
IDxuczI0Omd1aWQ+ZjM5YmFmZGMtN2ZhYi00NzJkLTk2NWUtMzk4ZTg3YTE0NzJhPC9uczI0Omd1
aWQ+DQogICAgICAgICA8bnMyNDpkcml2ZXJOYW1lPjwvbnMyNDpkcml2ZXJOYW1lPg0KICAgICAg
PC9uczI0OkRyaXZlcj4NCiAgICAgIDxuczI0OnJlbE93blN0cmluZz7i4O/g4u/i4O88L25zMjQ6
cmVsT3duU3RyaW5nPg0KICAgPC9uczI0OnZkbz4NCjwvbnMyNDpTdGVwMkZvcm0+DQo=
--001a11407ed8a505080525eae092--