xsl-list
[Top] [All Lists]

RE: problem with document(concat

2005-05-26 07:45:29
When the argument to document() is a node, then the string value of a node
is taken as a relative URI and is resolved against the base URI of that node
(that is, it's relative to the source document). When the argument is a
string, then the string is taken as a relative URI and is resolved relative
to the stylesheet.

There's a very rarely used feature of the document() function that helps you
here: you can supply a second argument which is the node whose base URI is
used for resolution. So try:

document(concat(., '.xml'), .)

Michael Kay
http://www.saxonica.com/ 

-----Original Message-----
From: Wolfhart Totschnig 
[mailto:a9507073(_at_)unet(_dot_)univie(_dot_)ac(_dot_)at] 
Sent: 26 May 2005 15:19
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] problem with document(concat

Hi,
I am having a problem related to the document() function and would be 
thankful if anyone could help me.

The xslt script I am working on serves to transform an xml 
file to html. 
The original xml file reads

...
<related>314</related>
....

which is to indicate that the current file is related to file 
"314.xml" 
in the same directory. What I would like to do is integrate 
the title of 
the referenced file into the output html. I tried the following:

...
<xsl:for-each select="related">
    <xsl:value-of 
select="document(concat(.,'.xml'))//rdf:RDF/rdf:Description/dc
:title"/>
</xsl:for-each>
...

Yet it doesn't work. When changing  the content of the xml file from 
"314" to "314.xml" and doing
<xsl:value-of select="document(.)//rdf:RDF/rdf:Description/dc:title"/>
it works.
Furthermore, concat(.,'.xml') produces the correct string when put 
elsewhere, when put inside document(), however, it doesn't work.

Could anyone tell me why what I originally had in mind 
doesn't work? I 
tried to integrate the string() function in any way I could think of, 
use variables, nothing helped.

Thanks for your help,
Wolfhart

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--





--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>