0

次のサンプル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 />

それらはすべて戻ってきますが、特定の言語でセレクターを実行する方法がわかりません。

4

1 に答える 1

1

試してみてください:

<xsl:for-each select="words/word[@xml:lang = 'en']">
  <b><xsl:value-of select="./text()" /></b><nr/>
</xsl:for-each>
于 2012-05-17T18:06:28.873 に答える