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(_dot_)malaterre(_at_)gmail(_dot_)com> 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
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--