Page 1 of 1

substring-after Not Working in apply-templates

Posted: Wed Oct 06, 2004 6:41 pm
by Guest
Hi All,
I am trying this statement:

<xsl:apply-templates select="substring-after(@rdf:about,'#')">
</xsl:apply-templates>

But this gives an error saying:
MyXSLFile.xsl:39: value of expression cannot be converted to a node-set

Can anyone guide me how can I write the result of this substring-after thing into an XML file. Do I have to use any other tag rather than xsl:apply-templates or what?

Btw, I tried using following code:
<xsl:for-each select="@rdf:about">
<xsl:value-of select="substring-after(@about,'#')"/>
</xsl:for-each>

which (atleast) generates the XML file, but the file does not show any substring extracted.

Please Help...

Posted: Thu Oct 07, 2004 8:08 pm
by george
Hi,

I guess you should start with an XML tutorial like this one for instance:
http://www.zvon.org/xxl/XSLTutorial/Output/index.html

Proabably something like

<xsl:template match="*">
<xsl:if test="@rdf:about">
<xsl:value-of select="substring-after(@rdf:about,'#')"/>
</xsl:if>
<xsl:apply-templates/>
</xsl:template>

will give you some results but I cannot tell that for sure without knowing how your input document looks like.

Best Regards,
George