Re: [xsl] Use document() function to get a reference to the input doc

Subject: Re: [xsl] Use document() function to get a reference to the input doc
From: "andrew welch" <andrew.j.welch@xxxxxxxxx>
Date: Mon, 17 Jul 2006 22:58:04 +0100
On 7/17/06, cknell@xxxxxxxxxx <cknell@xxxxxxxxxx> wrote:
I know I must have done this a hundred times, but I just can't find any example on my computer at this moment. Please straighten me out.

I wish to use the document() function to create a variable holding the input document. My stylesheet contains this element:

<xsl:variable name="main-doc" select="document('/')" />

When I run the transform, Saxon complains that I may not have any content in the prologue. I know this is a huge clue as to what I've done wrong, but I just can't see it. What have I done wrong and how do I fix it?

I've had this error when the input doc is empty, or when a BOM has crept after the source has been saved using Notepad (although that was specific to a certain XML parser, which I can't remember). I guess you could always use select="document(base-uri(/))"

What is the reason for using select="document(...)" instead of just select="/" ?

Current Thread