This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Using the document function




[ 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]