xsl-list
[Top] [All Lists]

RE: Using "variable" in a select...

2003-09-18 07:19:35
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[(_at_)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(_dot_)Baily(_at_)deltalloydlife(_dot_)be
[mailto:Michel(_dot_)Baily(_at_)deltalloydlife(_dot_)be]
Sent: 18 September 2003 15:03
To: XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] 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
[(_at_)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



<Prev in Thread] Current Thread [Next in Thread>