Subject: Re: [xsl] Escaping <xsl:element> ouput From: David Carlisle <davidc@xxxxxxxxx> Date: Thu, 7 Aug 2008 10:55:34 +0100 |
> I'm using the XSLT version 2.0 that 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, Anirvan Majumdar | Thread | Re: [xsl] Escaping <xsl:element> ou, Anirvan Majumdar |
RE: [xsl] Escaping <xsl:element> ou, Michael Kay | Date | Re: [xsl] Escaping <xsl:element> ou, Anirvan Majumdar |
Month |