> Hi,
>
> I am new to XSL and I have several questions - some of them might be
> really easy ones but I just want to confirm.
>
> 1. Is it possible to compare two strings lexicographically in XSL/XPATH? I
> believe the answer is no. Is there a way I can achieve this?
>
>
> 2. I have listed the XML & XSL below. In that the community name
> attribute could start with a alphabet, a number or any other character.
> Most of the community names are expected to start with alphabets. In my
> output, if I have one or more community name starting with a certain
> alphabet (i.e. 'A') then I want to put a link (aka advance orgranizer) at
> the top of the page that would say 'A' and likewise for all the alphabets.
> Also since I have few communities starting with non-alphabets, I would
> want to put a link called Miscellaneous that would link to a page which
> would display all non-alphabetic characters.
>
> How would I go about doing this? And the those non-alphabetic characters
> are not fixed, they could vary depending on the XML file used. If there
> was string comparison allowed then I could do something like @name<'a' or
> @name>'z' for each node and that would give me all non-alphabetic
> characters.
>
> Any ideas/help/suggestions would be greatly appreciated.
>
> Thanks
>
>
> <record>
> <community name="101 South">
> ... Some Information ...
> </community>
> <community name="**">
> ... Some Information ...
> </community>
> <community name="Adams">
> ... Some Information ...
> </community>
> <community name="Smith">
> ... Some Information ...
> </community>
> ... .... ....
> </record>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="1.1" xmlns:lxslt="http://xml.apache.org/xslt">
>
> <xsl:template match="/">
> <xsl:apply-templates match="//community"/>
> </xsl:template>
>
> <xsl:template name="community">
> <xsl:if test="starts-with(@name,'*')">
> <xsl:call-template
> name="createTopLetterLinkForCommunity">
> <xsl:with-param
> name="letterLink">*</xsl:with-param>
> </xsl:call-template>
> </xsl:if>
> <xsl:if test="starts-with(@name,'A')">
> <xsl:call-template
> name="createTopLetterLinkForCommunity">
> <xsl:with-param
> name="letterLink">A</xsl:with-param>
> </xsl:call-template>
> </xsl:if>
> <xsl:if test="starts-with(@name,'B')">
> <xsl:call-template
> name="createTopLetterLinkForCommunity">
> <xsl:with-param
> name="letterLink">B</xsl:with-param>
> </xsl:call-template>
> </xsl:if>
> <xsl:if test="starts-with(@name,'C')">
> <xsl:call-template
> name="createTopLetterLinkForCommunity">
> <xsl:with-param
> name="letterLink">C</xsl:with-param>
> </xsl:call-template>
> </xsl:if>
> <xsl:if test="starts-with(@name,'D')">
> <xsl:call-template
> name="createTopLetterLinkForCommunity">
> <xsl:with-param
> name="letterLink">D</xsl:with-param>
> </xsl:call-template>
> </xsl:if>
> .... AND SO ON ....
> </xsl:template>
>
> </xsl:stylesheet>
>
>
>
>
> Thanks
> V. Patel.
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|