[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] XML transformation based on parameters
Subject: Re: [xsl] XML transformation based on parameters From: Emiliano Pecis <emiliano.pecis@xxxxxxxxx> Date: Wed, 15 Apr 2009 11:16:26 +0200 |
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.pecis@xxxxxxxxx>: > Thanks Sam! I needed your XSLT1.0 version... > > e. > > 2009/4/14 Sam Byland <shbyland@xxxxxxxxxxx>: >> 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XML transformation based , Emiliano Pecis | Thread | RE: [xsl] XML transformation based , Michael Kay |
AW: [xsl] sql if exists, Szabo, Patrick \(LNG | Date | RE: [xsl] XML transformation based , Michael Kay |
Month |