[xsl] xsl:apply-templates doesn't fill variable correctly

Subject: [xsl] xsl:apply-templates doesn't fill variable correctly
From: "Lensch, Thomas" <Lensch@xxxxxxxx>
Date: Mon, 1 Aug 2005 10:49:05 +0200
Hi,

the following snipet shows the usage of variable tHtml:

When i find a 'fussnote' in my xml i apply templates into tHtml. Then,
this variable is processed further.


    <xsl:template match="*">
	...
			<xsl:when test="name()='fussnote'">
				<xsl:variable name="tHtml">
					<xsl:apply-templates
select="text()|*"/>
				</xsl:variable>
				<!-- Pos_1 -->
				<xsl:variable name="ttHtml">
					<xsl:apply-templates
select="xalan:nodeset($tHtml)" mode="escape"/>
				</xsl:variable>
				.... further processing and output of
$ttHtml
			</xsl:when>

    <!-- Process Attributes -->
    <xsl:template match="@*">
        <xsl:choose>
			<xsl:when test="name()='href'">
                <xsl:choose>
                    <xsl:when test="starts-with(.,'#')">
                        <xsl:attribute name="href">
                            <xsl:call-template name="VerityLink">
                                <xsl:with-param name="price"
select="'0.0'"/>
                                <xsl:with-param name="part"
select="/*/parameter/doc.part"/>
                            </xsl:call-template>
                            <xsl:value-of select="."/>
                        </xsl:attribute>
                    </xsl:when>
                    <xsl:otherwise>
				....



Excerpts of my XML file:
a)
	<fussnote nr="13">
          <a href="#rd_200">Dazu Rn. 200</a>.</fussnote>

b)
	<fussnote nr="71">
          <a href="#rd_103">Dazu Rn. 103</a>.</fussnote>

While a) works b) doesn't. In b) only the "." ist output.

When i use apply-templates without putting the result in a variable, b)
works too!

Does anybody have some hints for me? Possible problem of recursion on
variable content?

Best regards
Thomas.

Current Thread