Altova Mailing List Archives>Archive Index >xsl-list Archive Home >Recent entries >Thread Prev - [xsl] selecting an element in an external doc using its id attribute [Thread Next] Re: [xsl] selecting an element in an external doc using its id attributeTo: Date: 6/17/2002 2:45:00 PM Cindy Mazza wrote:
But when I try to find an element whose id attribute is equal to the
value of the 'from' variable, I get an error saying "Unexpected token
[<function>] in path expression."
<xsl:variable name="from" select="@from"/>
<xsl:variable name="docnode" select="document('../texts/odes.xml')"/>
<xsl:message>
<xsl:value-of select="$docnode//id($from)"/>
</xsl:message>
You can't use id() this way. A slash '/' in an XPath mus be
followed by another step, and functions, like id(), do not
fall into this category (in XPath 1.0).
Use either a predicete
<xsl:message>
<xsl:value-of select="$docnode//*[@id=$from]"/>
</xsl:message>
(supposed all your ID attributes are named "id")
or change the context using an xsl:for-each:
<xsl:message>
<xsl:for-each select="$docnode">
<xsl:value-of select="id($from)"/>
</xsl:for-each>
</xsl:message>
This makes it a bit inconvenient to use id() or key() to
grab elements from another document, but so are the rules...
J.Pietschmann
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
