W3C home > Mailing lists > Public > xsl-editors@w3.org > July to September 1999

Re: key and document()

From: Denys Duchier <Denys.Duchier@ps.uni-sb.de>
Date: 23 Aug 1999 18:32:15 +0200
To: xsl-list@mulberrytech.com
Cc: xsl-editors@w3.org
Message-ID: <isu2pqpieo.fsf@talo.ps.uni-sb.de>
Kay Michael <Michael.Kay@icl.com> writes:

> > 1. the description of xsl:key fails to specify where the nodes that
> >    are being matched come from.  I assume that they are all the nodes
> >    in the `primary' source document (does this also include attribute,
> >    namespace, text and processing instruction nodes?)
> No, they are the nodes of the document that contains the current node when
> the key() function is invoked. But yes, they can be nodes of any type.

If I understand you correctly, then each document, whether it is the
`primary' one being transformed or a `secondary' one referred to by
means of the document() function, has its own collection of keys.

Thus assuming the following variable declaration:

        <variable name="db" select="document('db.xml')"/>

In order to get keys from secondary document $db, I must use an
expression of the form:


is that the intention?

Does it not follow from this that I can never have a key that contains
nodes from multiple documents?

If a multi-document spanning key is desired, then it must be simulated
by means of union expressions (thus forcing database merging to be
expressed at each point of use rather than at the point of


Dr. Denys Duchier			Denys.Duchier@ps.uni-sb.de
Forschungsbereich Programmiersysteme	(Programming Systems Lab)
Universitaet des Saarlandes, Geb. 45	http://www.ps.uni-sb.de/~duchier
Postfach 15 11 50			Phone: +49 681 302 5618
66041 Saarbruecken, Germany		Fax:   +49 681 302 5615
Received on Monday, 23 August 1999 12:32:39 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:44:17 UTC