English | Français | Deutsch | Magyar | >> 中文 << | Polski ZVON > Tutorials > XSLT Tutorial
>> 页 46 << | 上一条 | 下一条 | 目录 | 元素索引

函数 lang 根据节点的语言属性是否和参数字符串中指定的语言一致,或者是否属于指定语言的子语言而返回真或假。节点的语言属性来自节点的 xml:lang 属性标签。如果该节点没有 xml:lang 属性标签,这一属性继承自其最近的祖先节点的 xml:lang 设置。如果所有的祖先节点都没有这个属性,lang 将返回假。如果存在这样的属性存在,lang 将把这个属性和参数进行忽略大小写的比较。相等就返回真,如果属性中包含 - 标志的后缀,忽略后缀后相等也返回真。

XSLT stylesheet 1

XML源码
<source>

<P xml:lang="de">
     <text xml:lang="cs">a</text>
     <text xml:lang="en">and</text>
     <text>und</text>
</P>

</source>

输出
<P>Czech: a</P>

<P>English: and</P>

<P>German: und</P>

用HTML察看

Czech: a

English: and

German: und

XSLT stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="text">
     <P>
          <xsl:choose>
               <xsl:when test='lang("cs")'>
                    <xsl:text>Czech: </xsl:text>
               </xsl:when>
               <xsl:when test='lang("en")'>
                    <xsl:text>English: </xsl:text>
               </xsl:when>
               <xsl:when test='lang("de")'>
                    <xsl:text>German: </xsl:text>
               </xsl:when>
          </xsl:choose>
          <xsl:value-of select="."/>
     </P>
</xsl:template>


</xsl:stylesheet>