xsl-list
[Top] [All Lists]

Re: document() for opening multiple documents

2003-07-08 09:33:16


  When I call document() with variable as first argument, file1.xml
  opened from directory "xsl".

  When I call document() with exsl:node-set($file-set) as first
  document, files from $file-set opened (try to open) from the
  current directory.

You can force the base URI used for the document function by supplying a
node as the second argument of document().
If you give a node from the stylesheet, eg document('') it'll use the
uri of the stylesheet. If you use a node from your source file
it will use the URI of that file.

If your file list was in an external file, not in a variable you
wouldn't need the node-set extension and you would have a different
and more reliable base URI (the URIU of your XML file that has the file
list) 


  but key() not work with variable 
  (for me - I use libxml2-2.5.8 and libxslt-1.0.31)

It will work (I would imagine) but note that a node set returned by
exslt:node-set() is a separate document and key() only works in teh
current document, so to look up a key you would have to do
<xsl:for-each select="exsl:node-set($file-set)">
  ...
  select="key(...

so that the current node at the point you call key() is _inside_ the
document generated by exsl:node-set

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

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



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