XSLT是擴展樣式表轉換語言(Extensible Stylesheet Language Transformations)的簡稱,這是一種對XML文檔進行轉化的語言,XSLT中的T代表英語中的“轉換”(transformation)。它是XSL(Extensible stylesheet language)規范的一部分。XSL規范的另外一部分是XSLF(F代表代表格式化對象Formatting Objects),又稱XSL-FO或XSLFO。
XSLT是把XML文檔轉化為另一XML文檔的XML轉換語言。 即將源文檔的所有數據或者部分數據 (利用XPath進行選擇)生成另外的XML文檔或者其他可直接顯示或打印的文件格式(例如 HTML文件, RTF文件或者TeX文件)。在這個轉換過程中具體有以下涉及:
-
加上一些諸如HTML文檔中的固定標簽
-
移動文本
-
對文本排序
被轉換的源XML文檔具有樹狀結構。XSLT語言是聲明性語言,即XSLT程序本身只是包含了一些轉換規則的文檔。而這些規則可以被遞歸地應用到轉換過程中。XSLT本身也是一份XML文檔,所以它也必須遵守嚴格的XML規范。
如何:開始調試 XSLT
可以使用 XSLT 調試器來調試 XSLT 樣式表或 XSLT 應用程序。 在調試時,可以通過進入并逐行執行代碼、逐行執行代碼或跳出代碼來一次執行一行代碼。 XSLT 調試程序和其他 Visual Studio 調試程序中使用代碼逐行執行功能的命令都相同。 開始調試后,XSLT 調試器即會打開窗口以顯示輸入文檔和 XSLT 輸出。
XML 編輯器
可以從“XML 編輯器”啟動調試程序。 這樣可以在設計樣式表時進行調試。
從樣式表開始調試
-
在“XML 編輯器”中打開樣式表。
-
從“XML”菜單中選擇“調試 XSL”。
從 XML 輸入文檔開始調試
-
在 XML 編輯器中打開 XML 文檔。
-
從“XML”菜單中選擇“調試 XSL”。
其他語言的 XSLT
也可以在調試應用程序的同時進入并逐行執行 XSLT。 在System.Xml.Xsl.XslCompiledTransform.Transform 調用中按 F11 鍵時,調試程序可以進入并逐行執行 XSLT 代碼。
|
---|
不支持從 XslTransform 類進入并逐行執行 XSLT。 XslCompiledTransform 類是唯一支持在調試的同時進入并逐行執行 XSLT 的 XSLT 處理器。
|
開始調試 XSLT 應用程序
-
在實例化 XslCompiledTransform 對象時,在代碼中將 enableDebug 參數設置為 true。
此設置通知 XSLT 處理器在編譯代碼時創建調試信息。
-
按 F11 鍵進入并逐行執行 XSLT 代碼。
XSLT 樣式表加載到新的文檔窗口中,XSLT 調試程序也將啟動。
或者,可以將斷點添加到樣式表并運行應用程序。
示例
下面是一個 C# XSLT 程序的示例。 該示例顯示如何啟用 XSLT 調試。
using System;
using System.IO;
using System.Xml;
using System.Xml.Xsl;namespace ConsoleApplication
{
class Program
{
private const string sourceFile = @"c:/data/xsl_files/books.xml";
private const string stylesheet = @"c:/data/xsl_files/belowAvg.xsl";
private const string outputFile = @"c:/data/xsl_files/output.xml";static void Main(string[] args)
{
// Enable XSLT debugging.
XslCompiledTransform xslt = new XslCompiledTransform(true);// Compile the style sheet.
xslt.Load(stylesheet)// Execute the XSLT transform.
FileStream outputStream = new FileStream(outputFile, FileMode.Append);
xslt.Transform(sourceFile, null, outputStream);
}
}
}