Subject: Re: Pass-Through of MathML-Elements
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Tue, 14 May 2002 11:36:11 +0100
|
Hi Maik,
> I thought the default rule for XSLT processors is to pass the output
> through so I deleted the whole Formula template - same result. What
> output parameter, encoding or template do I need to define to get
> MathML elements pass through?
The default behaviour, if you don't have templates for elements, is to
get their *text content*. This is exactly the same as getting their
string value -- all of their text descendants concatenated together --
which is what you get when you use xsl:value-of.
You should be using xsl:copy-of to copy the structure. Try:
<xsl:template match="Formula">
<xsl:choose>
<xsl:when test="@Display='Block'">
<blockquote>
<xsl:copy-of select="node()"/>
</blockquote>
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select="node()"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|