xsl-list
[Top] [All Lists]

Re: Finding list items in XHTML

2002-11-13 03:06:52


xsl:template match="p[starts-with(.,'➤ ')]">
<li><xsl:apply-templates /></li>

does it _really_ start with that, for example

<p>
 <span>&#10148;</p>

the first three characters of the string value of p are
&#10; &#32; &#10148; 

p[*[1][self::span][starts-with(.,'&#10148; ')]]

or
p[starts-with(normalize-space(.),'&#10148; ')]

might be more robust.

although the example paras you quoted did start directly with the test
strings, so maybe that isn't your problem.

Otherwise its the namespace faq...

My input (and output) is essentially XHTML

If your input is n a namespace (in particular if it uses a dtd that
defaults a namespace declaration, as does the xhtml dtd)
then 
p[starts-with(.,'&#10148; ')]

needs to be

h:p[starts-with(.,'&#10148; ')]

where h: is bound in your stylesheet to be whatever namespace you are
using, as a p on its own only matches p in no namespace.

David

_____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or alternatively call
Star Internet for details on the Virus Scanning Service.

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list