[Home] [By Thread] [By Date] [Recent Entries]

Subject: RE: Using "variable" in a select...
From: "Jim Fuller" <jim.fuller@xxxxxxxxxxxxxxxxxx>
Date: Thu, 18 Sep 2003 15:19:35 +0100
just put the attribute in a variable

<xsl:variable name="lang" select="document('originalxmldata.xml')/Attest/@lang"/>

then your use variable in the value-of select statement

<xsl:value-of select="document('fiscalAttestsTxt.xml')/Texts/Loan/LoanNr[@lang=$lang]"/>

you may run into potential problems if the xml doc is the root xml doc, that is u are not using the document() command to bring it into your stylesheet......just make sure your variable is a global one ( declared at the top of your stylesheet )....though of couse you may have multiple transformations.

gl, jim fuller

-----Original Message-----
From: Michel.Baily@xxxxxxxxxxxxxxxxx
[mailto:Michel.Baily@xxxxxxxxxxxxxxxxx]
Sent: 18 September 2003 15:03
To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx
Subject:  Using "variable" in a select...




Dear All,

Im currently working on an XSL-FO project needing multiple languages
documents.

I've an XML document containing the data to be written :

<Attest year="2002" documentDate="21/08/2003">
? ?<Taker>
? ? ? <Name>
? ? ? ? ?Adam Dure
? ? ? </Name>
? ? ? <Address>
? ? ? ? ? <Street>
? ? ? ? ? ? Katrienwiel 6
? ? ? ? ? </Street>
? ? ? ? ? ...
? ? ? ? ? ...
? ? ? </Address>
? ? ? ...
? ? ? ...
? ?</Taker>
? ?...
? ?...
</Attest>

I've an XSL document used to transform XML into PDF using FOP.

To allow easiest maintenance, I've placed all the document static texts
into an other XML file like the one below :

<?xml version='1.0' encoding="UTF-8" ?>
<Texts>
? ? ? ? <Loan>
? ? ? ? ? ? ? ? <LoanNr lang="nl">Hypotecaire leningen Nr</LoanNr>
? ? ? ? ? ? ? ? <LoanNr lang="fr">Prêt hypotécaire ?Nr</LoanNr>
? ? ? ? ? ? ? ? <Year lang="nl">Dienst jaar</Year>
? ? ? ? ? ? ? ? <Year lang="fr">Année</Year>
? ? ? ? ? ? ? ? ...
? ? ? ? ? ? ? ? ...
? ? ? ? </Loan>
</Texts>

To acces the texts, I use such construction :

<xsl:template match="Loan">
? ?...
? ?<xsl:value-of select="document('fiscalAttestsTxt.xml')/Texts/Loan/LoanNr
[@lang='nl']"/>
? ?...
</xsl:template>

My question :
In place of using a litteral value for the lang(uage) attribute, I would
like to use a value extracted from ?my original xml file.
For example, I could add ?lang attribute to the Attest tag.
...
<Attest year="2002" documentDate="21/08/2003" lang="fr">
? ?<Taker>
? ? ? <Name>
? ? ? ? ?Adam Dure
? ? ? </Name>
? ? ? ...
? ? ? ...
? ?</Taker>
? ?...
? ?...
</Attest>

How can I reference this lang attribute as parameter ?in my select criteria
?
Remark : This value will change from Attest to Attest...

Thanks in advance

Michel



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member