Subject: Re: [xsl] Escaping <xsl:element> ouput From: Anirvan Majumdar <anirban.majumdar@xxxxxxxxxxxxx> Date: Thu, 07 Aug 2008 15:56:03 +0530 |
I'm using the XSLT version 2.0that simplifies things then.
so first generate the html that you need, don't worry about javascript
<xsl:variable name="html"> <xsl:apply-templates..... </xsl:variable>
so then if you went
<xsl:copy-of select="$html"/>
you'd get
<table width="100%"> <tr> <td width="150"> Name : <input type="text" value="[name_node_value]"/> </td> </tr> ...
so what you want to do is
<xsl:apply-templates mode="javascript" select="$html"/>
together with templates such as
<xsl:template match="*" mode="javascript"> <xsl:text><</xsl:text> <xsl:value-of select="local-name()"/> <xsl:apply-template select="@*" mode="javascript"/> <xsl:text>></xsl:text> <xsl:apply-template select="node()" mode="javascript"/> <xsl:text></</xsl:text> <xsl:value-of select="local-name()"/> <xsl:text>></xsl:text> </xsl:template>
<xsl:template match="text()" mode="javascript"> <xsl:value-of select="replace(.,'"','\"')"/> </xsl:template>
<xsl:template match="@*" mode="javascript"> <xsl:text> </xsl:text> <xsl:value-of select="local-name()"/> <xsl:text>=\"</xsl:text> <xsl:value-of select="replace(.,'"','\"')"/> <xsl:text>\"</xsl:text> </xsl:template>
David
incidentally despite the xsl:element in the subject line you only need
xsl:element if the element name is being calculated.
<xsl:element name="input">
<xsl:attribute name="type">hidden<xsl:attribute>
<xsl:attribute name="value">[some value computed before]</xsl:attribute>
I would write the above as
<input type="hidden" value="[some value computed before]"/>
using xsl:element and xsl:attribute when the element and attribute names are known just tends to obfuscate the code.
________________________________________________________________________ The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is: Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Escaping <xsl:element> ou, David Carlisle | Thread | Re: [xsl] Escaping <xsl:element> ou, David Carlisle |
Re: [xsl] Escaping <xsl:element> ou, David Carlisle | Date | Re: [xsl] Escaping <xsl:element> ou, David Carlisle |
Month |