Thanks to you, I've been able to to get my xslt working.
I'd like to add a new enhancement, if it is possible.
Currently, I invoke the same xslt three or more times passing
different parameters. I'd like to pass an XML file as parameter only one
with all needed parameters...
I don't know how to parse the xml file inside xslt and invoke the
transformation for each parameter...
Have you any hints/link to point me?
Following the code I have to start from... I will have 3 or more "p" values
and 3 or more relative "v" values.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="p" select="'id'"/>
<xsl:param name="v" select="'newvalue'"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="*[local-name()='param']">
<xsl:choose>
<xsl:when test="@name = $p">
<xsl:value-of select="$v"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="."/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
best regards,
e.
2009/4/14 Emiliano Pecis <emiliano(_dot_)pecis(_at_)gmail(_dot_)com>:
Thanks Sam! I needed your XSLT1.0 version...
e.
2009/4/14 Sam Byland <shbyland(_at_)verizon(_dot_)net>:
Emiliano,
if you're limited to XSLT1, then try matching on "param" and place the code
associated with "@name = $p" in the template body. Something like:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="p" select="id"/>
<xsl:param name="v" select="newvalue"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="param">
<xsl:choose>
<xsl:when test="@name = $p">
<xsl:value-of select="$v"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="."/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
...sam
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--