[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: comparing strings
You are right. There is the second, improved version: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="yes"/> <xsl:param name="start">paca</xsl:param> <xsl:param name="count">5</xsl:param> <xsl:variable name="letters">AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz</xsl:variable> <xsl:template match="/"> <xsl:call-template name="select"> <xsl:with-param name="str" select="$start"/> </xsl:call-template> </xsl:template> <xsl:template name="select"> <xsl:param name="str"/> <xsl:variable name="term" select="//term[starts-with(.,$str)][1]"/> <xsl:choose> <xsl:when test="$term"> <xsl:apply-templates select="$term"/> </xsl:when> <xsl:when test="string-length($str)=1"> <xsl:call-template name="select"> <xsl:with-param name="str" select="substring(substring-after($letters,$str),1,1)"/> </xsl:call-template> </xsl:when> <xsl:when test="$str"> <xsl:call-template name="select"> <xsl:with-param name="str" select="substring($str,1,string-length($str) - 1)"/> </xsl:call-template> </xsl:when> </xsl:choose> </xsl:template> <xsl:template match="term"> <xsl:param name="pos" select="1"/> <t><xsl:value-of select="."/></t> <xsl:if test="$pos < $count"> <xsl:apply-templates select="following-sibling::term[1]"> <xsl:with-param name="pos" select="$pos + 1"/> </xsl:apply-templates> </xsl:if> </xsl:template> </xsl:stylesheet> Jeni Tennison wrote: > > Hi Miloslav, > > > <xsl:template match="/"> > > <xsl:apply-templates select="//term[starts-with(.,$start)][1]"/> > > </xsl:template> > > The trouble with this approach is that when the input term is > something like 'pabulum' (means 'food', apparently), none of the terms > in the list start with that term. With the above solution, you'll get > the beginning of the list, but Oliver stated he wanted the terms that > follow the input term alphabetically (i.e. wants 'pace' etc. to > show). > > Cheers, > > Jeni > > --- > Jeni Tennison > http://www.jenitennison.com/ > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list -- ****************************************** <firstName> Miloslav </firstName> <surname> Nic </surname> <mail> nicmila@xxxxxxxxx </mail> <support> http://www.zvon.org </support> <zvonMailingList> http://www.zvon.org/index.php?nav_id=4 </zvonMailingList> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|