[xsl] Question about strings.

Subject: [xsl] Question about strings.
From: "Patel, Viral" <viral.patel@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 15 Jan 2003 09:13:13 -0600
> 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


Current Thread