XML Tutorial/XSLT stylesheet/namespace alias — различия между версиями

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

Текущая версия на 08:26, 26 мая 2010

namespace alias

File: Data.xml
<?xml version="1.0" encoding="UTF-8"?>
<europe>
  <scandinavia>
    <state>Finland</state>
    <state>Sweden</state>
    <state>Iceland</state>
    <state>Norway</state>
    <state>Denmark</state>
  </scandinavia>
</europe>
File: Transform.xslt
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns="urn:wyeast-net:scandinavia"
  xmlns:sc="http://www.wbex.ru/scand">
  <xsl:output method="xml" indent="yes" encoding="ISO-8859-1" />
  <xsl:namespace-alias stylesheet-prefix="sc"
    result-prefix="#default" />
  <xsl:template match="europe">
    <xsl:apply-templates select="scandinavia" />
  </xsl:template>
  <xsl:template match="scandinavia">
    <sc:scandinavia>
      <xsl:apply-templates select="state">
        <xsl:sort />
      </xsl:apply-templates>
    </sc:scandinavia>
  </xsl:template>
  <xsl:template match="state">
    <sc:country>
      <xsl:value-of select="." />
    </sc:country>
  </xsl:template>
</xsl:stylesheet>
Output:
<?xml version="1.0" encoding="ISO-8859-1"?>
<scandinavia xmlns="urn:wyeast-net:scandinavia">
   <country>Denmark</country>
   <country>Finland</country>
   <country>Iceland</country>
   <country>Norway</country>
   <country>Sweden</country>
</scandinavia>


new namespace-alias

File: Data.xml
<?xml version="1.0" encoding="UTF-8"?>
<europe>
 <scandinavia>
  <state>Finland</state>
  <state>Sweden</state>
  <state>Iceland</state>
  <state>Norway</state>
  <state>Denmark</state>
 </scandinavia>
</europe>

File: Transform.xslt
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns="http://www.wbex.ru"
  xmlns:sc="http://www.wbex.ru/scand"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" indent="yes" encoding="ISO-8859-1" />
  <xsl:namespace-alias stylesheet-prefix="sc"
    result-prefix="#default" />
  <xsl:template match="europe">
    <xsl:apply-templates select="scandinavia" />
  </xsl:template>
  <xsl:template match="scandinavia">
    <sc:scandinavia>
      <xsl:apply-templates select="state">
        <xsl:sort />
      </xsl:apply-templates>
    </sc:scandinavia>
  </xsl:template>
  <xsl:template match="state">
    <sc:country>
      <xsl:value-of select="." />
    </sc:country>
  </xsl:template>
</xsl:stylesheet>
Output:
<?xml version="1.0" encoding="ISO-8859-1"?>
<scandinavia xmlns="http://www.wbex.ru">
   <country>Denmark</country>
   <country>Finland</country>
   <country>Iceland</country>
   <country>Norway</country>
   <country>Sweden</country>
</scandinavia>