|
Subject: [xsl] how to do i18n with parameter substitution From: George James <GeorgeJ@xxxxxxxxxxxxxxx> Date: Wed, 23 Mar 2005 02:55:40 -0000 |
I have a template that does language substitution for text strings. I want
to extend this to be able to pass in a variable number of parameter values
that get substituted into placeholder in each language string.
The current template looks something like this:
<xsl:template name='i18n'>
<xsl:param name='caption'/>
<xsl:choose>
<xsl:when
test='document("phrases.xml")/phrases/phrase/target[../@key=$caption and
lang($language)]'>
<xsl:copy-of
select='document("phrases.xml")/phrases/phrase/target[../@key=$caption and
lang($language)]' />
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select='$caption' />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
I have a phrases.xml document that looks like this:
<phrase key='Client not on file'>
<target xml:lang='en'>Client number <p1/> not on file. Priority:
<p2/></target>
<target xml:lang='de'>Prioritdt: <p2/>. Klient Nr. <p1/> nicht auf
Akte.</target>
</phrase>
How can I extend my template so that will take as input something like the
following:
<caption key='Client not on file'>
<p1 value='123456'/>
<p2 value='99'/>
</caption>
and produce one of the following strings, depending on the language:
Client number 123456 not on file. Priority: 99
Prioritdt: 99. Klient Nr. 123456 nicht auf Akte.
Can anyone help me with this?
George
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] for-each filter, Wendell Piez | Thread | RE: [xsl] how to do i18n with param, George James |
| [xsl] for-each filter, Charles Ohana | Date | Re: [xsl] Common Element Solution (, Jay Bryant |
| Month |