Re: [xsl] [XSL] id() in Ancestor Nodes?

Subject: Re: [xsl] [XSL] id() in Ancestor Nodes?
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 4 Oct 2007 12:22:02 +0100
>  I use a RelaxNG to declare all my attributes,

relax does not (by default) assign ID type to attributes, and even if it
did, an dXSLT processor (almost certainly) wouldn't see any type
declarations coming from relax., and it may or may not know about xml:id

key('id',@publish) erather than id(@publish)

witha key defined by
<xsl:key name="id" match="*[@id]" use="@id"/>

if you are using id or

<xsl:key name="id" match="*[@xml:id]" use="@xml:id"/>

if you are using xml:id

Your posting is a repeat of the one earlier, without any of the fixes
posted so far fixed. the following, as well as the above advice to use a
key have already been posted:

> There is no problem with the functionality of the code above,
It should generate an error telling you that  you can not add attribute
nodes after child nodes.

> <xsl:variable name="name" select="id('@publish')"/>
That looks up the string @publish not the value of the publish
attribute, you intended    id(@publish) but better to use key('id',@publish)


The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 

Current Thread