XML/XSLT stylesheet/copy

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

Copy any other nodes without changing them

File: Data.xml
<customer>
  <lastName>A</lastName>
  <firstName>B</firstName>
  <phone>212-555-1212</phone>
</customer>
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="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()" />
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>
Output:
<customer>
  <lastName>A</lastName>
  <firstName>B</firstName>
  <phone>212-555-1212</phone>
</customer>



xsl:copy

File: Data.xml
<wine grape="Cabernet">
  <winery>shop 1</winery>
  <product>product 1</product>
  <year>1996</year>
  <prices date="12/1/01">
    <list>13.99</list>
    <discounted>11.00</discounted>
  </prices>
</wine>

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" indent="no" />
  <xsl:template match="prices">
    <xsl:copy>
      <xsl:apply-templates />
    </xsl:copy>
  </xsl:template>
  
  <xsl:template match="winery | product | year" />
</xsl:stylesheet>
Output:

  
  
  
  <prices>
    13.99
    11.00
  </prices>