Thanks.
However, I can not quite get it to work. I must be doing something wrong.
I have this in my transformer set-up:
transformer.setParameter("buildingDataFile", this.buildingDataName);
where this.buidingDataName is "TownHouseData"
Then, in my style sheet I have, as you suggested,
<xsl:variable name="list" select="document(concat('../', $buildingDataFile,
'/inputXML/storyPages.xml'))"/>
However, I get this error message, stating that the variable,
$buildingDataFile has not been declared.
Error at xsl:variable on line 15 of
file:///C:/Documents%20and%20Settings/Tracey/workspace/LibraryProject/xslt/stories.xsl:
XPST0008: XPath syntax error at char 40 on line 15 in {...le,
'/inputXML/storyPages.x...}:
Variable $buildingDataFile has not been declared
In other cases, I have been able to make use of transformer parameters into
the html part of astylesheet with something like this:
<li><a href="../index.html" title="{$buildingTitle}"> , where buildingTitle
was a transformer parameter,
but, as I said before, whenever I try to get a parameter into a quoted
function, I get into trouble.
What am I missing?
There is a more going on in the stylesheet, but nothing really before this
line, so I haven't included it.
----- Original Message -----
From: "Michael Kay" <mike(_at_)saxonica(_dot_)com>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Sunday, September 17, 2006 3:23 AM
Subject: RE: [xsl] using a parameter to modify part of the file path in
document(...) function
Change your call on document() to
document(concat('../', $buildingDataFile,
'/inputXML/buildingStories.xml'))
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Tracey Zellmann [mailto:tracey(_dot_)zellmann(_at_)comcast(_dot_)net]
Sent: 16 September 2006 20:09
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] using a parameter to modify part of the
file path in document(...) function
I am using XSLT 2.0 and JAVA 1.5.0_07 and the Saxon B
net.sf.saxon.TransformerFactoryImpl Transformer.
In my style sheet, I currently import an xml document
<xsl:variable name="list"
select="document('../inputXml/storyPages.xml')"/>
Now that everything works, I want to change my input file
arrangements and use different documents, each named
storyPages.xml, but from different directories.
examples:
../TownHouseData/inputXML/buildingStories.xml
../MiddlesexHotelData/inputXML/buildingStories.xml
../DamonMillData/inputXML/buildingStories.xml
and so forth.
I can set a parameter in my java program,
transformer.setParameter("buildingDataFile", "TownHouseData");
and use a different setting for the other buildings.
My problem is that I always get confused in XSLT using
variables and parameters inside double and single quoted strings.
What is a clean syntax for accomplishing this?
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--