Subject: Re: [xsl] using a parameter to modify part of the file path in document(...) function From: "Tracey Zellmann" <tracey.zellmann@xxxxxxxxxxx> Date: Sun, 17 Sep 2006 15:12:23 -0400 |
I needed to include in my stylesheet <xsl:param name="buidlingDataFile"/>
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@xxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
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.zellmann@xxxxxxxxxxx] Sent: 16 September 2006 20:09 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx 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?
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] using a parameter to modi, Tracey Zellmann | Thread | Re: [xsl] using a parameter to modi, Abel Braaksma |
Re: [xsl] using a parameter to modi, Tracey Zellmann | Date | Re: [xsl] using a parameter to modi, Abel Braaksma |
Month |