国际化的XML和XSL样式

时间:2012-05-17 17:45:20

标签: xml xslt

我有以下示例XML文件:

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/xsl' href='test.xsl'?>
<words>
<word xml:lang="en">English</word>
<word xml:lang="pl">Polish</word>
<word xml:lang="pl">Polish2</word>
<word xml:lang="en">English2</word>
</words>

我正在尝试设计它,所以只显示英文单词。但是当我尝试这样的事情时:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <xsl:template match="/">
        <html>
            <body>
                <xsl:for-each select="words/word">
                    <b><xsl:value-of select=".[lang('en')]" /></b><br />
                </xsl:for-each>
            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>

什么都没有回来。我想我是在正确的轨道,因为如果我有

<b><xsl:value-of select="." /></b><br />

他们都回来了,但我不确定如何选择特定语言的选择器。

1 个答案:

答案 0 :(得分:1)

尝试:

<xsl:for-each select="words/word[@xml:lang = 'en']">
  <b><xsl:value-of select="./text()" /></b><nr/>
</xsl:for-each>