Re: [xsl] output the result of the transformation twice, indented and not indented, without duplicating the code
2022-05-23 14:07:50
Martin, I would suggest a slight change to your code:
<xsl:next-match/>
... rather than:
<xsl:apply-templates/>
... and when the heavy-lifting code is not being imported, then put a
priority="1000" on the suggested match.
That will allow Wolfhart's stylesheet also to support a template rule
for the root node.
I'm not sure such would be obvious to a new user, so I thought I
would mention it for the archives.
I hope this helps.
. . . . . Ken
At 2022-05-23 18:50 +0000, Martin Honnen martin(_dot_)honnen(_at_)gmx(_dot_)de
wrote:
On 23.05.2022 20:39, Wolfhart Totschnig
wolfhart(_dot_)totschnig(_at_)mail(_dot_)udp(_dot_)cl
wrote:
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?
Doesn't
<xsl:template match="/">
<xsl:result-document href="result1.xml" indent="no">
<xsl:apply-templates/>
</xsl:result-document>
<xsl:result-document href="result2.xml" indent="yes">
<xsl:apply-templates/>
</xsl:result-document>
</xsl:template>
...
where ... is your original code (you could also xsl:import it) do what
you want?
--
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 |
--~----------------------------------------------------------------
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
--~--
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [xsl] output the result of the transformation twice, indented and not indented, without duplicating the code, Wolfhart Totschnig wolfhart(_dot_)totschnig(_at_)mail(_dot_)udp(_dot_)cl
- Re: [xsl] output the result of the transformation twice, indented and not indented, without duplicating the code, G. Ken Holman g(_dot_)ken(_dot_)holman(_at_)gmail(_dot_)com
- Re: [xsl] output the result of the transformation twice, indented and not indented, without duplicating the code, Martin Honnen martin(_dot_)honnen(_at_)gmx(_dot_)de
- Re: [xsl] output the result of the transformation twice, indented and not indented, without duplicating the code,
G. Ken Holman g(_dot_)ken(_dot_)holman(_at_)gmail(_dot_)com <=
- Re: [xsl] output the result of the transformation twice, indented and not indented, without duplicating the code, Martin Honnen martin(_dot_)honnen(_at_)gmx(_dot_)de
- Re: [xsl] output the result of the transformation twice, indented and not indented, without duplicating the code, Wolfhart Totschnig wolfhart(_dot_)totschnig(_at_)mail(_dot_)udp(_dot_)cl
- Re: [xsl] output the result of the transformation twice, indented and not indented, without duplicating the code, G. Ken Holman g(_dot_)ken(_dot_)holman(_at_)gmail(_dot_)com
- Re: [xsl] output the result of the transformation twice, indented and not indented, without duplicating the code, Wolfhart Totschnig wolfhart(_dot_)totschnig(_at_)mail(_dot_)udp(_dot_)cl
- Re: [xsl] output the result of the transformation twice, indented and not indented, without duplicating the code, Imsieke, Gerrit, le-tex gerrit(_dot_)imsieke(_at_)le-tex(_dot_)de
Re: [xsl] output the result of the transformation twice, indented and not indented, without duplicating the code, Graydon graydon(_at_)marost(_dot_)ca
|
Previous by Date: |
Re: [xsl] output the result of the transformation twice, indented and not indented, without duplicating the code, Graydon graydon(_at_)marost(_dot_)ca |
Next by Date: |
Re: [xsl] output the result of the transformation twice, indented and not indented, without duplicating the code, Martin Honnen martin(_dot_)honnen(_at_)gmx(_dot_)de |
Previous by Thread: |
Re: [xsl] output the result of the transformation twice, indented and not indented, without duplicating the code, Martin Honnen martin(_dot_)honnen(_at_)gmx(_dot_)de |
Next by Thread: |
Re: [xsl] output the result of the transformation twice, indented and not indented, without duplicating the code, Martin Honnen martin(_dot_)honnen(_at_)gmx(_dot_)de |
Indexes: |
[Date]
[Thread]
[Top]
[All Lists] |
|
|