xsl-list
[Top] [All Lists]

Re: [xsl] Got xml base path in the xslt file

2009-09-16 05:06:46
2009/9/16 Dongsheng Song <dongsheng(_dot_)song(_at_)gmail(_dot_)com>:
Hi all,
I use a xsl file to merge multiple xml files,  the master xml file like this:

<doc>
       <doc id="Intro" />
       <doc id="Configuration" />
       <doc id="Index" />
</doc>


The xsl file like this:

<xsl:for-each select="doc/doc">
   <xsl:variable name="fileName"><xsl:value-of select="@id"
/><xsl:text>.xml</xsl:text></xsl:variable>

   <xsl:for-each select="document($fileName)">
       <xsl:copy-of select="doc/div"/>
   </xsl:for-each>
</xsl:for-each>

Because the file path is relative of  the xsl file for 'document'
function, I have to put xsl and xml files together.
Can I got the base path of master xml file, so I can store xsl and xml
file separately?


In 2.0 you could do something like:

/doc/doc/doc(resolve-uri(concat(@id, '.xml'), document-uri(/)))/doc/div

or using document() this:

 /doc/doc/document(concat(@id, '.xml'), /)/doc/div



-- 
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/

--~------------------------------------------------------------------
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>