This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
contribute:multilanguage support or multiple files
- To: xsl-list at mulberrytech dot com
- Subject: contribute:multilanguage support or multiple files
- From: juggy at gmx dot net
- Date: Sun, 11 Jun 2000 02:14:37 +0200
- Reply-To: xsl-list at mulberrytech dot com
Hi there,
I finally found the solution to the problem I mentioned in my
previous posts. I just thought, someone could use this.
The problem was to have a data xml file, a language xml file and a
xsl layout file and have these combined appropriately.
This ist test1.xml, the data file:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="test1.xsl"
xmlns:xsl="http://www.w3.org/TR/WD-xsl"?>
<Daten>
<Eintrag id="1">300</Eintrag>
<Eintrag id="2">23,42</Eintrag>
<Eintrag id="3">4711</Eintrag>
</Daten>
This is test1l.xml, the language data file:
<?xml version="1.0"?>
<Sammlung>
<Element id="1" spr="de">Kosten</Element>
<Element id="2" spr="de">Rueckstellung</Element>
<Element id="3" spr="de">Gesamt</Element>
<Element id="1" spr="en">Costs</Element>
<Element id="2" spr="en">Return</Element>
<Element id="3" spr="en">Total</Element>
</Sammlung>
This is test1.xsl, the layout file:
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:param name="Sprache" select="'en'"/>
<xsl:variable name="file">test1l.xml</xsl:variable>
<xsl:variable name="phrases"
select="document($file)/Sammlung"/>
<xsl:variable name="complete"
select="concat($phrases, '/', $Sprache)"/>
<xsl:template match="/">
<html>
<head>
<title>Test1</title>
</head>
<body>
language: <xsl:value-of select="$Sprache"/>
<br/>
<table border="1">
<xsl:for-each select="/Daten/Eintrag">
<tr>
<xsl:variable name="actID" select="@id"/>
<td><xsl:value-of
select="$phrases/Element[@id=$actID and
@spr=$Sprache]"/></td>
<td><xsl:value-of
select="../Eintrag[@id=$actID]"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
You then just call it via
saxon.exe test1.xml test1.xsl Sprache=en
(Sprache is the language parameter)
Maybe someone can use it.
Regards,
Juggy
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list