XML Tutorial/XSLT stylesheet/replace

Материал из Web эксперт
Версия от 18:22, 25 мая 2010; (обсуждение)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Replace one string with another

File: Data.xml
<?xml version="1.0"?>
<list>
 <description>XPath 2.0 Context Functions</description>
 <date>2003-08-26</date>
 <function type="new">context-item()</function>
 <function type="new">current-date()</function>
 <function type="new">current-dateTime()</function>
 <function type="new">current-time()</function>
 <function type="new">default-collation()</function>
 <function type="new">implicit-timezone()</function>
 <function type="legacy">last()</function>
 <function type="legacy">position()</function>
</list>
File: Transform.xslt

<?xml version ="1.0"?>
<xsl:stylesheet version="2.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" indent="yes" />
  <xsl:template match="functions">
    <xsl:element name="list">
      <xsl:element name="description">
        XPath 2.0 Context Functions
      </xsl:element>
      <xsl:element name="date">
        <xsl:value-of select="current-date()" />
      </xsl:element>
      <xsl:apply-templates select="function" />
    </xsl:element>
  </xsl:template>
  <xsl:template match="function">
    <xsl:copy>
      <xsl:value-of select="replace(name, "^fn:", "")" />
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>
Output:
<?xml version="1.0" encoding="UTF-8"?>
 XPath 2.0 Context Functions
 2003-08-26
 <function/>
 <function/>
 <function/>
 <function/>
 <function/>
 <function/>
 <function/>
 <function/>