<xsl:apply-templates select="substring-after(@rdf:about,'#')">
you can not apply templates to strings only to nodes.
<xsl:for-each select="@rdf:about">
so here the current node is an rdf:about attribute
<xsl:value-of select="substring-after(@about,'#')"/>
and here you are selecting the current nodes (which is rdf:about)
about attribute. This will be empty as attribtes never take attributes.
Why are you trying to make it complicated? You just want the value of
that substring function so:
<xsl:value-of select="substring-after(@rdf:about,'#')"/>
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________