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);
}
}
}