This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Using the document function
- From: RShonk at flowserve dot com
- To: xsl-list at lists dot mulberrytech dot com
- Date: Tue, 17 Sep 2002 15:58:02 -0400
- Subject: RE: [xsl] Using the document function
- Reply-to: xsl-list at lists dot mulberrytech dot com
[ RShonk@flowserve.com]
>>
>>... I had
>> expected to be able to use <xsl:variable name="file1"
>> select="document ('filename1')"/>, etc. in my XSLT
>> stylesheet with the file name determined by the values in the
>> xml file. This apparently will not work since the URI value
>> for filename cannot be assigned at run-time.
> You can use a variable or parameter as the argument of document(), like
> this:
>
> <xsl:variable name='fileurl' select='"file:///d:\test\xsl\a.xml"'/>
> <xsl:variable name='file' select='document($fileurl)'/>
>
> You could pass in the file names you want to use as parameters.
Thanks, I am new to using xml and xslt and never thought about using
parameters.
I had built my xml file containing the file names like
<FILES>
<FILENAME1>path1/filename1</FILENAME1>
<FILENAME2>path2/filename2</FILENAME2>
</FILES>
and could not for the life of me figure out how to get the element value
selected.
I tried every combination of <xsl:variable ... /> and <xsl:value-of select
="FILENAME1"/>
I could think of in my XSLT. I even tried curly braces like FOP allows
{FILENAME1}
and was ready to throw in the towel.
I changed my file to
<FILES filename1="path1/file1"
filename2="path2/file2">
<PATH>pathinfo</PATH>
...
</FILES>
and then used
<xsl:variable name="file1" select="document(@filename1)"/> and it works
like a charm
Thanks again,
Rich
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list