Subject: [xsl] matching by id in external document() From: "Trevor Nicholls" <trevor@xxxxxxxxxxxxxxxxxx> Date: Fri, 11 Aug 2006 19:35:51 +1200 |
Hi This template works - it accesses the correct target element in the external document based on its id attribute matching the suffix of the local srcfile attribute. <xsl:template match="jump[@srcfile]"> <xsl:variable name="jfil"> <xsl:value-of select="substring-before(@srcfile,'#')" /> </xsl:variable> <xsl:variable name="jid"> <xsl:value-of select="substring-after(@srcfile,'#')" /> </xsl:variable> <xsl:copy> <xsl:apply-templates select="@*[local-name() != 'text']"/> <xsl:attribute name="text"> <xsl:value-of select="document($jfil,/)//target[@id = $jid]" /> </xsl:attribute> </xsl:copy> </xsl:template> I was hoping that the following edit would be more efficient (it would replace the 11th line of the preceding template): <xsl:value-of select="document($jfil,/)/id($jid)" /> But this is an invalid XPath expression. What am I doing wrong? Cheers Trevor
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] xpath query question, andrew welch | Thread | Re: [xsl] matching by id in externa, David Carlisle |
[xsl] xpath query question, Andrei Matei | Date | RE: [xsl] xsl:sequence, tom tom |
Month |