Altova Mailing List Archives>Archive Index >microsoft.public.xsl Archive Home >Recent entries >Thread Prev - Re: Newbie (Parse and substring). >Thread Next - Re: Newbie (Parse and substring). Re: Newbie (Parse and substring).To: NULL Date: 3/6/2007 4:38:00 PM
Stan wrote:
> I use another node like this one
> <lnk>http://mywebsite/uk/book/computer/asp</lnk>
> <lnk>http://mywebsite/sp/cd/world/xxx</lnk>
>
> I would like to perform the sort on "book" and "cd".
Is the part http://mywebsite/ fixed and known to the stylesheet?
If yes then you need e.g.
<xsl:key name="smain-by-type" match="smain"
use="substring-before(substring-after(substring-after(lnk,
'http://mywebsite/'), '/'), '/')"/>
and e.g.
<xsl:apply-templates select="main/smain[generate-id() =
generate-id(key('smain-by-type',
substring-before(substring-after(substring-after(lnk,
'http://mywebsite/'), '/'), '/'))[1])]" mode="group">
<xsl:sort
select="substring-before(substring-after(substring-after(lnk,
'http://mywebsite/'), '/'), '/')" data-type="text" order="ascending"/>
</xsl:apply-templates>
and the same "monster" expressions at the other places. String
manipulation can get a bit cumbersome in XSLT/XPath 1.0 but you simply
need to use enough combinations of substring-after and substring-before
to extract the part you want.
--
Martin Honnen --- MVP XML
http://JavaScript.FAQTs.com/
| ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
