XSL-question
Marcus.Bernhardson at nokia.com
Marcus.Bernhardson at nokia.com
Thu Nov 18 16:59:00 GMT 1999
Hello there!
Im new to this list (and pretty new to XML/XSL...) and i hope that its ok to
ask a question about XSL here. Please tell me if Im at the wrong place.
I have a very anoying problem i cant solve using XSL with IE5.
I have a xml-file and i wanna list the info in it and sort/filter it
depending on how you select. I use javascript in a html file for selecting
sorting/filtering.
I wanna be able to use a global variable or function to use with the
"select" and "order-by" statements. It doesnt seem to work though.
my XML-file looks something like this:
<root>
<element>
<childelement1/>
<childelement2/>
<childelement3/>
</element>
<element>
<childelement1/>
<childelement2/>
<childelement3/>
</element>
etc...
</root>
I wanna sort all elements in a table so my XSL-file looks something like
this:
<table>
<xsl:for-each select="root/element" order-by="+childelement2">
<tr>
<td>
<xsl:value-of select="childelement1"/>
</td>
<td>
<xsl:value-of select="childelement2"/>
</td>
<td>
<xsl:value-of select="childelement3"/>
</td>
</tr>
</xsl:for-each>
</table>
When I sort with order-by I wanna use a variable or a function that returns
the sortingcriteria. I cant get it to work, is it possible?
What I mean is that I wanna do something like this:
* with a variable called selectedSort that contains the string
'childelement1', 'childelement2' or 'childelement3':
<xsl:for-each select="root/element" order-by="+selectedSort">
or
* with a function that returns the string 'childelement1', 'childelement2'
or 'childelement3':
<xsl:for-each select="root/element" order-by="+selectedSort()">
If this would work then i could use 1 XSL-file instead of 1 for every
sorting/filtering combination (would be many....).
When i filter i do like this:
<xsl:for-each select="root/element[childelement= 'criteria1']"
order-by="+childelement1">
I have same problem here. I wanna be able to do something like this:
<xsl:for-each select="root/element[childelement1= selectedCriteria]"
order-by="+childelement1">
or
<xsl:for-each select="root/element[childelement1= selectedCriteria()]"
order-by="+childelement1">
I would be forever thankful if there a nice person out there who could help
me solving this. Or atleast tell me if its possible while using IE5.
Thanks/
Marcus
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo at ic.ac.uk the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list