Subject: RE: [xsl] Passing a variable number of parameters or rather an array From: JBryant@xxxxxxxxx Date: Wed, 20 Apr 2005 11:01:58 -0500 |
Because tokenize is an XSLT 2.0 function and Xalan is an XSLT 1.0 processor. You need to use a recursive template to get strings from a larger string in XSLT 1.0. Jay Bryant Bryant Communication Services (presently consulting at Synergistic Solution Technologies) "kent" <kent@xxxxxxxxxxxxxxxxx> 04/20/2005 10:59 AM Please respond to xsl-list@xxxxxxxxxxxxxxxxxxxxxx To <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> cc Subject RE: [xsl] Passing a variable number of parameters or rather an array Thanks everyone for the help. Argh, so I tried this approach and I even found another example of it at: http://www.xml.com/lpt/a/2003/05/07/tr.html And yet it doesn't work in xalan, which is frustrating: <xsl:variable name="sampleString">XML,XSLT,XPath,SVG,XPointer</xsl:variable> <xsl:variable name="tokenizedSample" select="tokenize($sampleString,',')"/> <xsl:for-each select="$tokenizedSample"> <xsl:value-of select="."/> <xsl:text>! </xsl:text> </xsl:for-each> does anyone know why this gives me the error: ERROR: 'Error checking type of the expression 'funcall(tokenize, [variable-ref(sampleString/result-tree), literal-expr(,)])'.' FATAL ERROR: 'Could not compile stylesheet' -----Original Message----- From: Ramkumar Menon [mailto:ramkumar.menon@xxxxxxxxx] Sent: Wednesday, April 20, 2005 3:49 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] Passing a variable number of parameters or rather an array Just give this a try..... I havent tried it out myself.... Step1 : Store it into a variable.. Step 2: Iterate through using <for-each> <for-each select="tokenize($category,'\s+')"> <individualFruit> <xsl:value-of select="."/> </individualFruit> </xsl:for-each> On 4/20/05, kent <kent@xxxxxxxxxxxxxxxxx> wrote: > Also a good idea, but do I have to go and save the xml as a file, is there > no way of passing in the it in also as a parameter, performance is not a > huge issue, but I wouldn't mind saving a bit of disk latency. > > More importantly how do I do array/string[1] in some sort of loop, sorry I > am very new to xslt. > > thanks > > > -----Original Message----- > From: Colin Paul Adams [mailto:colin@xxxxxxxxxxxxxxxxxx] > Sent: Wednesday, April 20, 2005 3:12 PM > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: [xsl] Passing a variable number of parameters or rather an > array > > >>>>> "kent" == kent <kent@xxxxxxxxxxxxxxxxx> writes: > > kent> I have had a trawl on this subject, but I the best answer I > kent> can get is 'You can pass a nodeset, which can be treated as > kent> the XML equivalent of an Array'. However I am not sure how > kent> to create the nodeset, pass it, and then deal with it in the > kent> stylesheet. > > kent> I would like to pass an array of strings to the > kent> stylesheet. Does anyone have an example of doing this, or > kent> know where one is. I looked at xalan examples and none of > kent> the examples seem to fit, plus I can't find one anywhere > kent> else. > > The details of how to pass stylesheet parameters to a transformer is > specific to the particular XSLT processor. > > But there is a portable (*) way of doing what you want to do: > > Create your array as an xml document: e,g.: > > <array> > <string>string one</string> > <string>string two</string> > </array> > > Then pass the URI of this document as a string-valued parameter, and > use the document() function to access the array. > > Now you can use XPath expressions such as array/string[1] to get the > first string-value from this document. > > (*) assuming that all XSLT processors allow you to pass a > string-constant as a parameter. > -- > Colin Paul Adams > Preston Lancashire > > -- Shift to the left, shift to the right! Pop up, push down, byte, byte, byte! -Ramkumar Menon A typical Macroprocessor
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Passing a variable number, kent | Thread | RE: [xsl] Passing a variable number, kent |
RE: [xsl] Passing a variable number, kent | Date | Re: [xsl] XSL-FO & Selecting Attrib, Jon Gorman |
Month |