xsl-list
[Top] [All Lists]

Re: XPath Error

2004-10-31 04:37:11
Hi,

<xsl:variable name="myInfo">
        <xsl:copy-of select="/page/myinfo" />
</xsl:variable>

If possible prefer the following:

  <xsl:variable name="myInfo" select="/page/myinfo" />

That way the myInfo variable contains a node set and not a document fragment. The upper version will give an error when evaluating $myInfo/myinfo/@id. This is a limitation of XSLT 1. In XSLT 2 the document fragment data type does not exist.

If it is not possible to use the select attribute on xsl:variable (perhaps because you want to call a separate template that gives a node set), you could resort to the node-set function, which is supported by most implementations of XSLT 1.

You could then use something like:

  <xsl:variable name="id" select="exsl:node-set($myInfo)/myinfo/@id" />

(Note: see exslt.org for explanation on the extension functions, their use and availability in implementations)

Grtz,
Geert

--
Geert(_dot_)Josten(_at_)Daidalos(_dot_)nl
IT-consultant at Daidalos BV, Zoetermeer (NL)

http://www.daidalos.nl/
tel:+31-(0)79-3316961
fax:+31-(0)79-3316464

GPG: 1024D/12DEBB50


<Prev in Thread] Current Thread [Next in Thread>