[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[xsl] Using for-each on user arguments [was: Re: Passing a list of arguments]
Subject: [xsl] Using for-each on user arguments [was: Re: Passing a list of arguments] From: "Mathieu Malaterre" <mathieu.malaterre@xxxxxxxxx> Date: Fri, 9 Nov 2007 14:51:44 +0100 |
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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Passing a list of argumen, Mathieu Malaterre | Thread | Re: [xsl] Using for-each on user ar, Andrew Welch |
Re: [xsl] Passing a list of argumen, Mathieu Malaterre | Date | Re: [xsl] Using for-each on user ar, Andrew Welch |
Month |
Keywords