[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: current() within a key element's @use
As for a work-around, the following works with xsltproc, but interestingly, not with Saxon. Saxon complains "key() function cannot be used here". (This is a variant of the XSLT that Dimitre posted on SO): <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output omit-xml-declaration="yes" indent="yes"/> <xsl:key name='kTagUsage' match='tagUsage' use='@render'/> <xsl:key name="kRendByUsageGi" match="rendition" use="key('kTagUsage', @xml:id)/@gi"/> <xsl:template match="/"> <xsl:copy-of select="key('kRendByUsageGi', 'p')/text()"/> ======== <xsl:copy-of select="key('kRendByUsageGi', 'emph')/text()"/> </xsl:template> </xsl:stylesheet> On Fri, Dec 28, 2012 at 10:28 AM, Michael Kay <mike@xxxxxxxxxxxx> wrote: > > > On 24/12/2012 00:24, John P. McCaskey wrote: >> >> I have found inconsistent behavior when using current() in the use attribute of a key element. >> >> Shouldn't these >> <xsl:key name="keyUsingCurrent" match="color" use="current()/@id"/> >> <xsl:key name="keyWithoutCurrent" match="color" use="@id"/> >> produce the same set of keys? > > > Yes, it should. The spec says: "For an outermost expression (an expression not occurring within another expression), the current node is always the same as the context node.". > > The XSLT 1.0 spec is not terribly explicit about what what the current node is in other situations, but the examples it gives lead one to infer that it should be the same as for the outermost containing expression. > > > >Am I witnessing a bug in code that xsltproc, Chrome and Safari share? If so, to whom would I report such a bug? Would doing so make any difference? > > > Yes, don't know, and probably not. > > Michael Kay > Saxonica > >> >> I need current() to work inside @use, so that I can have an attribute such as >> use="../tagUsage[@render=current()/@xml:id]/@gi". See http://stackoverflow.com/questions/13984167/create-xsl-key-by-joining-elements. If this is a bug, is there a workaround? >> >> Thanks for any help. >> >> -- JPM >> >> John P. McCaskey, mailbox@xxxxxxxxxxxxxxxx
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|