|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: XML transformation based on parameters
> I don't know how to parse the xml file inside xslt and invoke the
> transformation for each parameter...
do you want a separate output for each parameter, or one output that
has all the replacements combined?
why have this
<xsl:template match="*[local-name()='param']">
which is likely to be slower to execute and harder to read than
<xsl:template match="param">
Assuming you want to do all the replacements together then have a file
rep.xml that looks like
<replace>
<r p="id" v="newvalue"/>
<r p="id2" v="newvalue2"/>
<r p="id3" v="newvalue3"/>
</replace>
Then
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="rep" select="document('rep.xml')"/>
<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 = $rep/replace/@p">
<xsl:value-of select="$rep/replace[@p=current()/@name]/@v"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="."/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
________________________________________________________________________
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.
________________________________________________________________________
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








