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

Re: Using document()

Subject: Re: Using document()
From: Joerg Heinicke <joerg.heinicke@xxxxxx>
Date: Wed, 09 Oct 2002 00:18:46 +0200
xslt select document
Hello Adam,

document('') returns the root node of the stylesheet, so I assume, that document('#id2') returns the element with id 'id2' in the stylesheet, not the source document. Do from my understanding the expression
generate-id(document('#id2')) = generate-id(//*[@id='id2'])
will be evaluated to false.


Regards,

Joerg

Adam van den Hoven wrote:
I'm using the XLink model so my hrefs are URIs. In the example I gave,
it's a fragment identifier which should be expanded relative to the
source document (I understand xpointer to allow this). I'm assuming that
'#someval' is still a shortcut which points to some element with an id
value of 'someval'.


From http://www.w3.org/TR/xslt#function-document:
If the URI reference does not contain a fragment identifier, then a
node-set containing just the root node of the document is returned. If
the URI reference does contain a fragment identifier, the function
returns a node-set containing the nodes in the tree identified by the
fragment identifier of the URI reference.

This suggests to me that if I use <xsl:apply-templates
select="document('#id2')" />, I should get the node of the source
document which has an id attribute equal to 'id2'. In the same way, it
suggests that if I use <xsl:apply-templates
select="document('somefile.xml#id2')" />, I should get the node whose id
is 'id2' in 'somefile.xml' which is a sibling to the source document.


So my question is assuming that there is a node with an id (in this case
an id attribute) with a value of 'id2' in my source document can I
reasonably expect the following to be equivalent:

<xsl:apply-templates select="document('#id2')" />

<xsl:apply-templates select="//*[@id='id2']" />

And the following to be true:

generate-id(document('#id2')) = generate-id(//*[@id='id2'])

Before I go and start telling excelon that they seem to have a bug in
their product, I want to make sure I'm right in my assumption (if not,
I'm going to have to re-evaluate how I do things).


Adam


-----Original Message-----
From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Richard Lander
Sent: October 8, 2002 2:00 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: Using document()



The XSLT processor is looking for a resolvable path as the argument to the document function.


If the value of the xlink:href attribute is a path to an actual XML file, then it should work. If it isn't, and it's an IDREF-type link to attribute that contains that value, then you'll need an XPath that will get that value for you.

w/o more information on your document structure ... It is a little hard on this end ...

Rich

-----Original Message-----
From: Adam van den Hoven [mailto:list@xxxxxxxxxxxxxxxxxxx] Sent: Tuesday, October 08, 2002 1:50 PM
To: XSL Mailing list


Sorry if this appears twice, I'm having some problems with my mail systems.

I have a question.

I want to use the following:

<xsl:apply-templates select="document('#id2')" />

Ok, I'd never actually use this. In reality its something like:

<xsl:apply-templates select="document(@xlink:href)" />

which is likely to contain simply fragment identifiers since I'm using XLinks to normalize a sitemap hierarchy.

When I try to run this as part of a transform, I get an error saying that the file (fully resolved to refer to the source doc) cannot be found. Is this a problem with how I'm doing things or perhaps a problem with app I'm using to develop templates with (Stylus Studio)?

Do you have any other ideas about how I can accomplish the same thing given that some of my xlink:href attributes will point to external documents?

Thanks, H. Adam van den Hoven

Web Developer

Credit Union Central of BC


__________________________________________________ D O T E A S Y - "Join the web hosting revolution!" http://www.doteasy.com

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




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






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





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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

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.
Email
First Name
Last Name
Company
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.