Thank you Michael,
I actually did figure this out after a while. I used to work with regular
expressions and am still finding my feet with XPath in XSLT 1.0. Your
message confirms that I got it right - which is very useful feedback.
Thanks.
My final template match included bookmarks (#) and looked like this:
<xsl:template match="xhtml:a[not(contains(@href,'/') or
contains(@href,'#'))]">
Thanks again,
Richard
-----Original Message-----
From: Michael Müller-Hillebrand
Sent: 06 February 2008 08:58
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Specific xpath
It is one of the beauties of XSL that make this rather easy:
non-local links: <xsl:template match="xhtml:a[contains(@href, '/')]">
local links: <xsl:template match="xhtml:a[not(contains(@href, '/'))]">
- Michael Müller-Hillebrand
Am 05.02.2008 um 21:43 schrieb <marrocdanderfluff(_at_)yahoo(_dot_)co(_dot_)in>
<marrocdanderfluff(_at_)yahoo(_dot_)co(_dot_)in>:
Hi all,
I'm working in XHTML with XSLT 1.0 and need to change all relative
links that are in the current folder. That means, I need to pick out
local links that are just a file name "abc_1234.htm" and exclude any
that are Internet (http), links to other folders, that is
href="/other_folder" or href="../another_folder", links to bookmarks
href="#top".
At the moment I am matching all links:
<xsl:template match="xhtml:a">
Is it possible to filter link types using the href attribute?
<xsl:template match="xhtml:a[(_at_)href='some_expression']" > or
<xsl:template match="xhtml:a[some_function(@href, string, string)]" >
Is this possible or do I need a more elaborate solution using
variables and parameters?
Thanks,
Richard
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--