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

Re: document()-function, using 2 arguments

Subject: Re: document()-function, using 2 arguments
From: michael gruber <gruberm@xxxxxx>
Date: Thu, 06 Apr 2000 23:15:50 +0200
michael enti
Hai!

"G. Ken Holman" wrote:

> That is not my understanding of the recommendation.  The base URI of the
> first argument is not material.  Even if the first argument is a node, that
> node's base URI is not used as a base for resolution.  The first argument
> is converted to a simple string and the string has no base URI ... the
> *second* argument determines the base URI: if absent the base URI is that
> of the stylesheet node that is the instruction being executed, if present,
> the base URI is that of the first of the supplied nodes in the expression.

Specification (12.1) says:
"When the document function has exactly one argument and the argument is a
node-set, then the result is the union, for each node in the argument node-set, of
the result of calling the document function with the first argument being the
string-value of the node,  and the second argument being a node-set with the node
as its only member."

Here we see three times the word "node". I think all of them mean that node (resp.
act. member of node-set) which is passed as argument.

In my understanding that means:
(Simplified but right  imho...)
if we have only one argument,
and that is a *node*(-set)
it's the same as calling the document function with two arguments:
First argument is a string (which was converted from the *node*'s value)
Second argument is the *node*.


Maybe I'm wrong but when I look at the following I think it is correct:
(or better said that are the results because of which i read the spec as I read
it)
(and -last comment- if I'm still / once again  wrong I'll stop here and sleep...)

michael


   document (test.xsl, test.xml)
         |
         |---- input (test.xml)
         |
         |---- ent (test.xml)


*******document\test.xml
<?xml version="1.0"?>
 <test>
   This is test.xml from the document directory.
 </test>
*********************

*******D:\TEST\document\input\test.xml

<?xml version="1.0"?>
<!DOCTYPE root [
<!ENTITY testentity SYSTEM "../ent/test.xml" >
                ]>
<root>
 <node>test.xml</node>
 <test>
   This is test.xml from the input directory.
 </test>
 &testentity;
</root>
******************

*******D:\TEST\document\ent\test.xml
<ent>
 <node-enti>test.xml</node-enti>
 <test>
   This is test.xml from the enti directory.
 </test>
</ent>
****************************
*******document\test.xsl

<?xml version="1.0" ?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

<xsl:template match="/">
<xsl:value-of select="document('test.xml')//test"/>
<xsl:value-of select="document(root/node)//test"/>
<xsl:value-of select="document(root/ent/node-enti)//test"/>
<xsl:value-of select="document(root/ent/node-enti, .)//test"/>
<xsl:value-of select="document('test.xml', document(''))//test"/>
<xsl:value-of select="document('test.xml',.)//test"/>
<xsl:value-of select="document('test.xml',root/ent/node)//test"/>
</xsl:template>

</xsl:stylesheet>
*******************

****D:\TEST\document>type result.txt
<?xml version="1.0" encoding="utf-8"?>

   This is test.xml from the document directory.
   This is test.xml from the input directory.                    <---!!!!!
   This is test.xml from the enti directory.                      <---!!!!!
   This is test.xml from the input directory.
   This is test.xml from the document directory.
   This is test.xml from the input directory.
   This is test.xml from the enti directory.


 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.