[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Using for-each on user arguments [was: Re: Passing a l
Ok Maybe with a more explicit title I'll get some help. Basically I am trying to avoid writting an infinite <xsl:if test="arg1 or arg2 or arg3 ... ">. So as a procedurial guy I thought of doing a list of user defined values to iterate over. This lead me to (*), but of course this cannot be working since I got mixup in between my user input arg list, and the real XML document I am trying to parse. Thanks for help -Mathieu (*) <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:output method="xml" indent="yes" encoding="UTF-8"/> <xsl:variable name="sections-list"> <args> <arg>C.8.7.1.1.2</arg> <arg>C.8.14.1.1</arg> </args> </xsl:variable> <xsl:template match="article"> <xsl:param name="extract-section"/> <el> <xsl:value-of select="$extract-section"/> </el> </xsl:template> <xsl:template match="/"> <e> <xsl:for-each select="$sections-list/args/arg"> <xsl:apply-templates select="article"> <xsl:with-param name="extract-section" select="."/> </xsl:apply-templates> </xsl:for-each> </e> </xsl:template> </xsl:stylesheet> On Nov 9, 2007 12:19 PM, Mathieu Malaterre <mathieu.malaterre@xxxxxxxxx> wrote: > Hello, > > I have a list of arguments to pass to my XSLT. I thought that I > could simply construct a small XML tree to do that. I do not > understand why the list argument tree is being expanded. How was I > supposed to do that ? > > Thanks > -Mathieu > > test.xml: > <?xml version="1.0" encoding="UTF-8"?> > <article> > </article> > > test.xsl: > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> > <xsl:output method="xml" indent="yes" encoding="UTF-8"/> > <xsl:variable name="sections-list"> > <section> > <section>C.8.7.1.1.2</section> > <section>C.8.14.1.1</section> > <!-- ... --> > </section> > </xsl:variable> > <xsl:template match="article"> > <xsl:param name="extract-section"/> > <xsl:message> > <xsl:value-of select="$extract-section"/> > </xsl:message> > </xsl:template> > <xsl:template match="/"> > <xsl:for-each select="$sections-list"> > <xsl:apply-templates select="article"> > <xsl:with-param name="extract-section" select="$section"/> > </xsl:apply-templates> > </xsl:for-each> > </xsl:template> > </xsl:stylesheet> > > > -- > Mathieu
|
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
|