You could treat the heavy-lifting non-indented stylesheet as an
imported fragment to an onion skin stylesheet that turns on the indentation.
working.xsl:
<xsl:stylesheet...>
<xsl:output indent="no"/>
...heavy lifting...
</xsl:stylesheet>
indented.xsl:
<xsl:stylesheet...>
<xsl:import href="working.xsl"/>
<xsl:output indent="yes"/>
</xsl:stylesheet>
I hope this helps.
. . . . . Ken
At 2022-05-23 18:40 +0000, Wolfhart Totschnig
wolfhart.totschnig@xxxxxxxxxxx wrote:
Content-Transfer-Encoding: 7bit
Dear list,
I have an XSL stylesheet that produces a large XML document. I would
like to output the XML document twice, once indented (for human
readability) and once not indented (for faster access by other
scripts). I am wondering whether this can be done from within a
single stylesheet.
In order to achieve what I want, I could, of course, produce two
versions of the stylesheet, one with <xsl:output indent="yes"/> and
the other with <xsl:output indent="no"/>, and then run them
consecutively. The disadvantage of doing that would be that, if I
later want to change the stylesheet, I would have to make the
changes twice, which, apart from the additional effort, would be a
possible source of errors.
I guess that I could achieve what I want from within a single
stylesheet with <xsl:result-document>. But in that case, if I
understand correctly, I would have to copy the entire code of the
stylesheet into <xsl:result-document>. So the code would, again, be duplicated.
So my question is this: Is there a way to obtain the two versions of
the XML document (indented and not indented) without duplicating the code?
Thank you in advance for your help!
Best,
Wolfhart
--
Contact info, blog, articles, etc. http://www.CraneSoftwrights.com/s/ |
Check our site for free XML, XSLT, XSL-FO and UBL developer resources |
Streaming hands-on XSLT/XPath 2 training class @US$125 (5 hours free) |
Essays (UBL, XML, etc.) http://www.linkedin.com/today/author/gkholman |
|