[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Using document()

Subject: RE: Using document()
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Thu, 10 Oct 2002 09:30:49 +0100
RE:  Using document()
> > why is it necessary to do
> > document('foo#bar') rather than do
> > 
> > <xsl:for-each select="document('foo')">
> > <xsl:value-of select="id('bar')"/>
> > </xsl:for-each>
> The ONLY thing I know is that I'm not going to get anything 
> more complex than a bare XPointer to a node with an ID. It 
> could be in the input file or it could be in an external file. 
> To do anything like what you suggest would require a bit of 
> string manipulation (although granted its not that hard). 

I would recommend that you do the string manipulation.

You might be able to achieve the right effect with a URIResolver, but it
won't work on all products. There is an awkward interaction between the
URIResolver specification and the rule that if you access the same
document twice, you must get the same root node back each time. This
puts the XSLT processor in a quandary when you do:

document('foo#john') | document('foo#mary')

Saxon solves this dilemma by not passing the fragment to the
URIResolver. This might seem unfriendly, but there is some logic to it:
the specification for URIResolver says clearly that it is intended to
resolve a URI, not a "URI Reference", and the fragment is not actually
part of the URI. It also follows the same logic as HTML browsers, where
the request for a URI is passed to the server, and the location of a
fragment is the responsibility of the client.

Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx  

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Current Thread


Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
First Name
Last Name
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.