|
[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: Odd Result-Document Behavior
Eliot Kimber ekimber@xxxxxxxxxxxx wrote:
Im using Saxon 9.6.0.7 via Oxygen.
Im using xsl:result-document with @format to generate result documents.
If I use a variable reference in @format the referenced xml:output is
not used. If I replace the variable reference with a string literal I
get the expected output (in both cases the attribute is an attribute
value template).
My initial code is:
<xsl:result-documenthref="{$mapUri}"format="{$mapFormat}>
Where $mapFormat has the string value map and the map output
declaration is present:
<xsl:paramname="mapFormat"as="xs:string"select="'map'/>
<xsl:output name="map"
method="xml"
doctype-public="-//OASIS//DTD DITA Map//EN"
doctype-system="map.dtd"
indent="yes"
/>
When I run this, the output is not used (result document has no DOCTYPE
decl and is not indented).
If I replace format="{$mapFormat} with format={map} then I get the
expected result (DOCTYPE decl, indented markup).
So the only difference is the use of the variable reference. Ive
verified that $mapFormat has a value:
<xsl:message>+ [DEBUG]
mapFormat="<xsl:sequenceselect="$mapFormat"/>"</xsl:message>
Which produces:
+ [DEBUG] mapFormat=map"
It seems unlikely that this is a Saxon bug but Im at a loss as to what
I could be doing wrong to cause this behavior.
It looks like a bug to me, sample stylesheet is
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0">
<xsl:param name="map" select="'map'"/>
<xsl:output name="map"
method="xml"
doctype-public="-//OASIS//DTD DITA Map//EN"
doctype-system="map.dtd"
indent="yes"
/>
<xsl:template name="main">
<xsl:result-document href="test2015122301Output.xml" format="{$map}">
<root>
<foo>bar</foo>
</root>
</xsl:result-document>
<xsl:result-document href="test2015122302Output.xml" format="{'map'}">
<root>
<foo>bar</foo>
</root>
</xsl:result-document>
</xsl:template>
</xsl:stylesheet>
and the test2015122301Output.xml then looks like
<?xml version="1.0" encoding="UTF-8"?><root><foo>bar</foo></root>
while the second is test2015122302Output.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root
PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd">
<root>
<foo>bar</foo>
</root>
Tested with Saxon-HE 9.6.0.7J from Saxonica
Java version 1.8.0_66

|
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format
| RSS 2.0 |
|
| Atom 0.3 |
|
|