Eliot Kimber ekimber(_at_)contrext(_dot_)com wrote:
I?m using Saxon 9.6.0.7 via Oxygen.
I?m 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. I?ve
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 I?m at a loss as to what
I could be doing wrong to cause this behavior.
What am I missing?
Any chance some part of the stylesheet does e.g.
xmlns="http://example.com/ns", i.e. sets a default namespace? If the
result-document instruction is inside code doing that but the xsl:output
not, then one would use a name in the namespace while the other would
use a name in no namespace.
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--