Subject: Re: [xsl] passing a sequence as a parameter From: David Carlisle <davidc@xxxxxxxxx> Date: Tue, 26 Feb 2008 11:39:44 GMT |
simplest change to what you posted is probably something like this: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="2.0"> <xsl:param name="my_param" as="xs:string?" /> <xsl:param name="my_params" as="xs:string*" select="tokenize($my_param,',')"/> <xsl:output indent="yes"/> <xsl:template match="/root"> <root> <xsl:apply-templates/> </root> </xsl:template> <xsl:template match="user"> <user> <xsl:for-each select="name"> <xsl:variable name="p" select="position()"/> <xsl:if test="$my_params[$p] = 'true'"> <name> <xsl:value-of select="."/> </name> </xsl:if> </xsl:for-each> </user> </xsl:template> </xsl:stylesheet> $ saxon9 rg.xml rg.xsl my_param='true,false,true' <?xml version="1.0" encoding="UTF-8"?> <root> <user> <name>Robert</name> <name>Graham</name> </user> </root> If you are calling teh stylesheet via an APi that allows seqeunce values to be constructed and passed in externally you may set your my_params parameter directly to that sequence, and ignore the my_param parameter, but conversely if as I demonstrate above you are using a simple APi like the saxon command line that doesn't allow structured values to be passed in you can ignore the my_params parameter and set the my_param parameter to a single string with comma separated values, the sequence will tehn be constructed as the default value of $my_params. David ________________________________________________________________________ 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. ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] passing a sequence as a p, Colin Adams | Thread | RE: [xsl] passing a sequence as a p, Michael Kay |
Re: [xsl] passing a sequence as a p, Geert Bormans | Date | Re: [xsl] passing a sequence as a p, Mukul Gandhi |
Month |