[xsl] Using xsl:key

Subject: [xsl] Using xsl:key
From: siarom egrub <egrubs@xxxxxxxxx>
Date: Thu, 30 Nov 2006 15:49:42 -0800 (PST)
HI All,

I am using xsl:key decipher some fixed terms in a
multi-language document and having the following issue
that I would like some help with. I have to display
the same information in one PDF file in multiple

The issue is words within the "text" attribute (see
XML snippet below) are appearing next to each other in
all languages. 

I have a master XML file that references the language
specific XML file names using entities (e.g. <!ENTITY
XO88400_EN SYSTEM "XO88400-EN.xml">
<!ENTITY XO88400_DE SYSTEM "XO88400-DE.xml">
&XO88400_DE; reference for English and German XML

The expected output is:

WARNING (for a warning in an English text)

This is the output that I am getting:

WARNING WARNUNG (The xsl:for-each logic that I used is
pulling all the values of "text" attribute in the same

How can I get the correct text value to display in
right area?

Thanks in advance for your help!

English XML
<term id="warning" text="WARNING"/> (These are
declared at the top of each XML file)

German XML
<term id="warning" text="WARNUNG"/>

=====XSL Snippet===== 
<xsl:key name="terms" match="term" use="@id"/>

<fo:block text-align="center" font-weight="bold">
   <fo:external-graphic content-width=".3in"
   <xsl:for-each select="key('terms','warning')">
      <xsl:text> </xsl:text>
      <xsl:value-of select="@text"/>Here


Siarom Egrub

Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail beta.

Current Thread