Subject: Re: [xsl] Using for-each on user arguments [was: Re: Passing a list of arguments] From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx> Date: Fri, 9 Nov 2007 14:06:27 +0000 |
On 09/11/2007, Mathieu Malaterre <mathieu.malaterre@xxxxxxxxx> wrote: > 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> I think you are asking for: <xsl:apply-templates select="article/*[name() = $sections-list/args/arg]"/> ...so you want the children of <article> in your input XML that have the same name as any of the <arg> elements in your $sections-list If that not what you want, you need to approach your question from the opposite angle - show what you want to achieve and not how you think you need to get there. cheers -- Andrew Welch http://andrewjwelch.com Kernow: http://kernowforsaxon.sf.net/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Using for-each on user argume, Mathieu Malaterre | Thread | Re: [xsl] Using for-each on user ar, Mathieu Malaterre |
[xsl] Using for-each on user argume, Mathieu Malaterre | Date | Re: [xsl] Using for-each on user ar, Mathieu Malaterre |
Month |