[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
|