Re: [xsl] Simple (external XML) internationalization with XSLT?

Subject: Re: [xsl] Simple (external XML) internationalization with XSLT?
From: knocte <knocte@xxxxxxxxx>
Date: Mon, 3 Oct 2005 17:44:00 +0200
Thanks for your answer David!


2005/10/3, David Carlisle <davidc@xxxxxxxxx>:
>
> I think you just want
>
> <xsl:key
>
>   <xsl:template match="/*">
>
>     <page>
>
>       <title><xsl:value-of select="MyTitle" /></title>
>
>       <content>
>         <div class="Image">
>           <xsl:value-of
select="document('en-US.xml')//i18n:language/i18n:hash-list/i18n:string[@key=
'1']"/>
>           <img>
>             <xsl:attribute
> name="href">http://www.example.com/img.gif</xsl:attribute>
>             <xsl:attribute name="alt">
>           <xsl:value-of
select="document('en-US.xml')//i18n:language/i18n:hash-list/i18n:string[@key=
'2']"/>
>             </xsl:attribute>
>           </img>
>         </div>
>       </content>
>
>     </page>
>
>   </xsl:template>
>
> so long as you declare a namespace for the i18n prefix (in both your
> stylesheet and en-us.xml file)
>
> David
>

Interesting but, cannot this be done without so much writting in each
i18n call? Can't it be simplified? Isn't there other method?

Cannot I write something like this?:

<i18n:text key="1" />

And transform it automatically to:

<xsl:value-of
select="document('en-US.xml')//i18n:language/i18n:hash-list/i18n:string[@key=
'1']"
/>

  Regards,

    knocte

--

Current Thread