xsl-list
[Top] [All Lists]

Re: Defining a key on a RTF inside a Template

2004-12-08 06:43:51
Hi David,
  Thanks for your insightful comments.. You have
provided the most accurate definition of the scope of
xsl:key (i.e. the document node over which it
operates).. 

But please consider this.., if for instance, the main
XML document also contained the <projectsum> nodes,
then the key definition -
<xsl:key name="countDetail" match="projectsum"
use="@id"/>
would include those nodes also in the scope.. So
introducing the <temp> tag would be neccessary to
enforce the scope to RTF..

But I was wrong that <temp> was neccessary to enforce
scope to RTF(as you have clarified).. But using
<temp>(or any other name which does'nt exist in source
XML) would accurately enforce the scope of xsl:key to
RTF.. Am I right..?

Regards,
Mukul

--- David Carlisle <davidc(_at_)nag(_dot_)co(_dot_)uk> wrote:


It is this use
of a temporary tag(temp), which makes the scope of
xsl:key the RTF..

No. The extra element isn't needed, you could just
as well go

<xsl:key name="countDetail" match="projectsum"
use="@id"/>
<xsl:variable name="projectSum">
   <xsl:for-each select="//project">
     <!-- other code -->
   </xsl:for-each>
</xsl:variable>

The scope of a key is always the document containg
the current node at
the point use use key(). xx:node-set makes a new
document node when it
generates a node set from a result tree fragment, so
the key is always
scoped to this generated document.

xsl:key by specification indexes all documents used
in a stylesheet,
but in practice a system will only build an index
for documents for
which key() is actually used.

David


________________________________________________________________________
This e-mail has been scanned for all viruses by
Star. The
service is powered by MessageLabs. For more
information on a proactive
anti-virus service working around the clock, around
the globe, visit:
http://www.star.net.uk
 


                
__________________________________ 
Do you Yahoo!? 
Read only the mail you want - Yahoo! Mail SpamGuard. 
http://promotions.yahoo.com/new_mail 

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--