Subject: Re: Got xml base path in the xslt file
From: Andrew Welch <andrew.j.welch@xxxxxxxxx>
Date: Wed, 16 Sep 2009 10:06:21 +0100
|
2009/9/16 Dongsheng Song <dongsheng.song@xxxxxxxxx>:
> 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/
| Current Thread |
|
Message not available
Michael Kay - 16 Sep 2009 07:05:43 -0000
Andrew Welch - 16 Sep 2009 09:06:41 -0000 <=
|
|