|
Subject: Re: [xsl] Problem with Output special char in HTML attribute From: Robert Koberg <rob@xxxxxxxxxx> Date: Tue, 07 Dec 2004 09:59:42 -0800 |
<jspp:outputElement name="a">
<jspp:outputAttribute name="href">
<jspp:concat str_value="next-page.jsp?id="/>
<jspp:concat var_value="id"/>
</jspp:outputAttribute>
</jspp:outputElement>
<xsl:template match="jspp:outputElement"> out.print("<xsl:text disable-output-escaping="yes"><</xsl:text>"); out.print("<xsl:value-of select="@local_name"/>"); <xsl:apply-templates select="jspp:outputAttribute" mode="attrOut"/> out.print("<xsl:text disable-output-escaping="yes">></xsl:text>"); <xsl:apply-templates/> out.print("<xsl:text disable-output-escaping="yes"><</xsl:text>/"); out.print("<xsl:value-of select="@local_name"/>"); out.print("<xsl:text disable-output-escaping="yes">></xsl:text>"); </xsl:template>
<xsl:template match="jspp:outputAttribute" mode="attrOut">
<xsl:choose>
<xsl:when test="boolean(@name)">
out.print(" ");
out.print("<xsl:value-of select="@name"/>");
out.print("='");
<xsl:choose>
<xsl:when test="boolean(@str_value)">
out.print("<xsl:value-of select="@str_value"/>");
</xsl:when>
<xsl:when test="boolean(@var_value)">
out.print(<xsl:value-of select="@var_value"/>);
</xsl:when>
<xsl:otherwise>
out.print(<xsl:apply-templates/>);
</xsl:otherwise>
</xsl:choose>
out.print("'");
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates mode="attrOut"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template> <xsl:if test="preceding-sibling::jspp:concat">
<xsl:text> + </xsl:text>
</xsl:if>
<xsl:choose>
<xsl:when test="boolean(@str_value)">
<xsl:text>"</xsl:text>
<xsl:value-of select="@str_value"/>
<xsl:text>"</xsl:text>
</xsl:when>
<xsl:when test="boolean(@var_value)">
<xsl:value-of select="@var_value"/>
</xsl:when>
</xsl:choose>best, -Rob
Hi at all, i've a problem with outputting special chars with xsl, particularly given the following :
<a href="#" tabindex="<?=$tabindex++?>">
rather i want to generate all my link tags with dynamic tabindex attribute. In xsl i have
<xsl:stylesheet ........ <xsl:output method="html"/> ...... ...... <a href=#" tabindex="<?$tabindex++?>">......</a> ..... ..... </xsl:stylesheet>
but the output produced is :
<a href=#" tabindex="<?$tabindex++?>">....</a>
that is not good because HTML page produced can't be execute served-side while all php-let are printed in HTML page. I tried in this way too:
<a href=#"> <xsl:attribute name="tabindex"> <xsl:text disable-output-escaping="yes"><?$tabindex++?></xsl:text> </xsl:attribute> </a>
but i obtain same result. Note that if i put <xsl:text disable-output-escaping="yes"><?$tabindex++?></xsl:text>
on xsl not inside attribute, i get correct result. I think problem
concerne special chars inside attribute, problably there must be a
method that i dont'know to put correctly special chars in attribute
value.
Please help me, i'm in trouble. ANy kind of help is granted. regards, Mulp.
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Problem with Output speci, David Carlisle | Thread | [xsl] xsl:preceding - only display , dmitrik |
| Re: [xsl] Problem with Output speci, David Carlisle | Date | RE: [xsl] Problem with Output speci, Michael Kay |
| Month |