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).To: NULL Date: 3/6/2007 7:30:00 PM
Martin,
Many thanks for your quick reply..
I ve found a part of the solution.
In fact, the part after http://mywebsite can be uk or sp and the lenght will
be fixed (2 characters).
Is it possible to use Wildcard with the substring-after ?
Like
<xsl:key name="smain-by-type" match="smain"
use="substring-before(substring-after(substring-after(lnk,
'http://mywebsite/??/'), '/'), '/')"/>
By the way, how to display the two first elements of a group (if there are
more than 2) and add dynamic link "Click here for more results".
I mean
Thriller
<ul>
<li>Connelly</li>
<li>Coben</li>
<li>Click here for more results</li>
</ul>
And in final, it's out of topic. I need to replace the Group Name by another
word.
I have another xml file that comes like this
<main>
<title language="uk" word="thriller" commercial="American Thriller"
/>
<title language="sp" word="thriller" commercial="bla bla bla" />
</main>
So the goal is to get this
American Thriller
<ul>
<li>Connelly</li>
<li>Coben</li>
<li>Click here for more results</li>
</ul>
Of course, it was very easier to do this job with asp but they ask me to do
it with xslt..
I promise you, it should be the last question (I place an order for a book
that I don't yet receive..).
Stan
"Martin Honnen" <mahotrash@y...> a écrit dans le message de
news:uMYF4VAYHHA.2320@T......
> 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 | |||
|
