xslt-1.0xslt-1.0入門

備註

本節概述了xslt-1.0是什麼,以及開發人員可能想要使用它的原因。

它還應該提到xslt-1.0中的任何大型主題,並鏈接到相關主題。由於xslt-1.0的文檔是新的,因此您可能需要創建這些相關主題的初始版本。

安裝或設置

為了執行任何XSLT轉換,XSLT處理器是必需的。它通常可以通過系統的包管理器安裝。例如在Debian中它可以安裝:

sudo apt-get install xsltproc

最小的“Hellow World”轉型

這是一種可能的最小XSLT轉換。它生成源XML文檔的字符串值。輸出格式為text

源XML文檔

<t>Hello, World!</t>

XSLT轉換

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="text"/>
</xsl:stylesheet>

在上面指定的源XML文檔上應用轉換的結果

Hello, World!

請注意

  1. 不使用<xsl:template>聲明。

  2. 所需的輸出類型在<xsl:output>聲明中指定,作為其method屬性的值。

  3. 當沒有匹配的模板時,XSLT處理器遵循XSLT處理模型的規則,應用標準的XSLT 內置模板 ,這導致按文檔順序複製到所有文本節點的串聯輸出。在這個簡單的例子中,源XML文檔只有一個文本節點,字符串值為字符串“ Hello, World! ”。

使用“身份規則”進行身份轉換

此示例顯示了幾乎所有XSLT轉換的基礎和最基本的XSLT設計模式。生成與源XML文檔相同的XML文檔作為輸出。

源XML文檔

<t>Hello, World!</t>

XSLT轉換

<xsl:stylesheet version="1.0"  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>
 
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>

結果 :當在任何源XML文檔應用該變換,輸出的XML文檔是相同的源的XML文檔。在這種情況下:

<t>Hello, World!</t>

請注意

  1. 使用和覆蓋標識規則是最基本的XSLT設計模式。這為基本任務提供了簡單,簡潔和優雅的解決方案,例如刪除/插入/重命名元素等等。

  2. 身份規則/模板是在W3C XSLT 1.0規範中發布的