XML Tutorial/XSLT stylesheet/lang

Материал из Web эксперт
Перейти к: навигация, поиск

lang() returns true or false depending on whether the language of the context node as specified by xml:lang attributes

File: Data.xml
<?xml version="1.0" encoding="utf-8"?>
<P xml:lang="de">
  <text xml:lang="cs">a</text>
  <text xml:lang="en">and</text>
  <text>und</text>
</P>
File: Transform.xslt
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
      version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="text">
      <paragraph>
        <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>
Output:
<?xml version="1.0" encoding="UTF-8"?>
  <paragraph>Czech: a</P>
  <paragraph>English: and</P>
  <paragraph>German: und</P>