This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re[2]: selecting an element in an external doc using its id attribute


Thank you so much for your help - it worked beautifully - that's exactly what I needed.

JP> 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>
>> 
JP> You can't use id() this way. A slash '/' in an XPath mus be
JP> followed by another step, and functions, like id(), do not
JP> fall into this category (in XPath 1.0).

JP> Use either a predicete
JP>    <xsl:message>
JP>      <xsl:value-of select="$docnode//*[@id=$from]"/>
JP>    </xsl:message>
JP> (supposed all your ID attributes are named "id")
JP> or change the context using an xsl:for-each:
JP>    <xsl:message>
JP>      <xsl:for-each select="$docnode">
JP>        <xsl:value-of select="id($from)"/>
JP>      </xsl:for-each>
JP>    </xsl:message>


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]