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 調試。
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);
}
}
}
XSLT文件打開可參考HTML文件的打開方法,兩種文件打開的方法一樣!