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

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

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

Reference text after selecting tags and attributes

File: Data.xml
<employee hireDate="09/01/1998">
  <last>A</last>
  <first>B</first>
  <salary>95000</salary>
</employee>
File: Transform.xslt
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="1.0">
  <xsl:output method="xml" omit-xml-declaration="yes" />
  <xsl:template match="employee">
    <xsl:apply-templates select="@hireDate" />
    <xsl:text>
        </xsl:text>
    <xsl:apply-templates select="first" />
    <xsl:text> 
        </xsl:text>
    <xsl:apply-templates select="last" />
  </xsl:template>
  
</xsl:stylesheet>
Output:
09/01/1998
        B 
        A


select="@title | text()"

File: Data.xml
<?xml version="1.0"?>
<outline>
 <section title="US coin denominations">
  <element>cent</element>
  <element>nickel</element>
  <element>dime</element>
  <element>quarter</element>
  <element>half dollar</element>
  <element>dollar</element>
 </section>
 <section title="Persons on US coins">
  <element>Abraham Lincoln (cent)</element>
  <element>Thomas Jefferson (nickel)</element>
  <element>Franklin Roosevelt (dime)</element>
  <element>George Washington (quarter)</element>
  <element>John Kennedy (half dollar)</element>
  <element>Sacagawea (dollar)</element>
 </section>
</outline>

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:output method="text" />
  <xsl:template match="outline">
    <xsl:for-each select="section|//element">
      <xsl:number level="any" count="section | element" format="1. " />
      <xsl:value-of select="@title | text()" />
      <xsl:text>&#10;</xsl:text>
    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>
Output:
1. US coin denominations
2. cent
3. nickel
4. dime
5. quarter
6. half dollar
7. dollar
8. Persons on US coins
9. Abraham Lincoln (cent)
10. Thomas Jefferson (nickel)
11. Franklin Roosevelt (dime)
12. George Washington (quarter)
13. John Kennedy (half dollar)
14. Sacagawea (dollar)