Mic*_*l J 7 xml xslt debugging visual-studio-2010
对于大多数文件类型(例如.cs,.xml,.xslt),VS2010中的"属性"窗口允许用户指定用于转换文件的自定义工具.作为参考,这是选择"自定义工具"字段时获得的工具提示.
指定在设计时转换文件的工具,并将该转换的输出放入另一个文件中.例如,数据集(.xsd)文件附带默认自定义工具.
我正在寻找有关如何设置和使用此属性的信息.
这是我想解决的问题.我正在通过应用XSLT转换和XML文件.描述我在转换过程中使用扩展对象这里.
在这样做的过程中,我使Visual Studio无法用作编辑和调试我的XSLT的工具.我希望我能编写一个简单的转换引擎,它允许我们使用Visual Studio,就像我们对不使用扩展对象的XSLT文档一样.我认为(希望)自定义工具属性是实现此功能的关键.
TIA
自 VS2005 起,就支持使用扩展函数调试 XSLT 转换,并且能够在 XSLT 代码和扩展函数代码中设置断点。
只需使用此 XslCompiledTransform 构造函数重载即可。
参数enableDebug 类型:System.Boolean true 生成调试信息;否则为假。将其设置为 true 使您可以使用 Microsoft Visual Studio 调试器调试样式表。
必须满足以下条件才能单步执行代码并调试样式表:
该enableDebug参数设置为 true。
样式表Load
作为 URI 或实现该接口XmlReader的类的实现传递给该方法IXmlLineInfo
。该IXmlLineInfo接口在所有文本解析对象上实现
XmlReader。
换句话说,如果使用对象IXPathNavigable
(例如XmlDocument或
XPathDocument)XmlReader
或未实现IXmlLineInfo接口的实现来加载样式表,则无法调试样式表。
用于XmlResolver加载样式表的是基于文件的
XmlResolver,例如
XmlUrlResolver(这是该类默认
XmlResolver使用的
XslCompiledTransform)。
样式表位于本地计算机或 Intranet 上。
这是一个小代码示例:
// Enable XSLT debugging.
XslCompiledTransform xslt = new XslCompiledTransform(true);
// Load the style sheet.
xslt.Load("output.xsl");
// Create the writer.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent=true;
XmlWriter writer = XmlWriter.Create("output.xml", settings);
// Execute the transformation.
xslt.Transform("books.xml", writer);
writer.Close();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1792 次 |
| 最近记录: |