I typically recommend to avoid using explicit XSLT conditional
instructions. This said, here is an example as requested:
Hi Dimitre,
Thanks for the recommendation, I am certainly inclined to take your
advice however just so I understand can you elaborate on why?
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xsl:output method="text"/>
<xsl:template match="/*">
<xsl:variable name="vDays" as="xs:string*" >
<xsl:choose>
<xsl:when test=". eq 'Biology'">
<xsl:sequence select="'Monday', 'Thursday'"/>
</xsl:when>
<xsl:when test=". eq 'Math'">
<xsl:sequence select="'Tuesday', 'Friday'"/>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:sequence select="string-join($vDays, ' and ')"/>
</xsl:template>
</xsl:stylesheet>
That was my first crack, but as it iterates through nodes I need to add
each occurrence to the sequence.
This can also be written in a shorter way as:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xsl:output method="text"/>
<xsl:template match="/*">
<xsl:variable name="vDays" as="xs:string*" select=
"if(. eq 'Biology')
then ('Monday', 'Thursday')
else if (. eq 'Math')
then ('Tuesday', 'Friday')
else () "/>
<xsl:sequence select="string-join($vDays, ' and ')"/>
</xsl:template>
</xsl:stylesheet>
I ended up not worrying about XSLT 1 support for the moment until
I revisit it and used:
<xsl:variable name="MyVar" as="xs:string *">
<xsl:sequence select="for $t in distinct-values(/object/property/@type)
return
if ($t='foo')
then 'a'
else if ($t='bar' or $t='baz' or $t='bof')
then 'b'
else 'c'" />
</xsl:variable>
<xsl:for-each select="distinct-values($MyVar)">
<xsl:sort select="." />
<xsl:text>...</xsl:text>
<xsl:value-of select="." />
<xsl:text>;
</xsl:text>
</xsl:for-each>
Thanks a lot Dimitre,
jlc
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--