65.9K
CodeProject 正在变化。 阅读更多。
Home

适用于 Visual Studio .NET XML 文档的简单 XSLT 样式表

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.59/5 (43投票s)

2005年2月27日

CPOL

4分钟阅读

viewsIcon

306477

downloadIcon

7826

一个简单的 XSLT 样式表,可将 Visual Studio .NET XML 文档转换为基本的 HTML

引言

我承认;我是个文档狂。十年的技术支持和系统管理教会了我偏执记录的价值。这可能就是为什么我如此喜欢 Visual Studio .NET 中的 XML 文档功能。这是一个非常好的工具,可以确保您的自定义类对其他开发人员(甚至您自己)来说都是易于理解的,并且当您使用 /doc 编译项目时生成的 XML 文件有潜力成为一个简单的参考指南的基础。

然而,最近在做一个项目时,我一直在思考如何将这个 XML 文件转换为我想要的 HTML 格式,并决定 XSL 样式表会是一个不错的开始。所以我用 Google 搜索了一个我可以轻松修改的纯 XSL 样式表。市面上有许多实用工具和第三方程序可以将 XML 文档文件转换为从 Word 文档到编译的 HTML 帮助文件,但没有简单的 XSL 样式表让我眼前一亮。所以我决定自己写一个。

Using the Code

附带的 ZIP 文件包含一个名为 Documentation.xsl 的文件。要查看它对 Visual Studio 文档文件做了什么的最简单方法是打开 XML 文件,并在文件顶部的 <?xml version="1.0"?> 声明后添加以下行

<?xml-stylesheet type="text/xsl" href="Documentation.xsl"?>

Documentation.xsl 放在与您的 XML 文件相同的文件夹中。如果 XML 文件与支持 XSL 的阅读器(例如 Internet Explorer)相关联,则在打开 XML 文件时应该会看到样式表的效果。根据您系统上基本 HTML 标题标签的配置方式,结果可能看起来很糟糕,因为样式表使用了最简单的可用 HTML 标签。但这正是重点:下一步取决于您。

更改模板

根据您的需求修改 XSL 文件很简单。我不会详细介绍 XSL 文件的工作原理,因为有很多资源可以解释这一点(请参阅本文最后的“参考文献”部分)。我也假设您熟悉基本的 HTML。但是,即使您以前没有使用过 XSL 样式表,您也可能能够遵循这些说明。

Documentation.xsl 分为四个部分,由文件中的大写注释标识

  1. 文档模板。此部分是整个 HTML 文档的模板。您会注意到我在这里放置了 <HTML><BODY> 标签。您可以为此模板添加一个 <HEAD> 部分,并添加一个指向 CSS 样式表的链接,例如。
  2. 程序集模板。此模板处理 XML 文档的 <assembly> 标签中的信息,该标签仅包含程序集名称(输出为一级标题)。此模板最重要的作用是调用“成员模板”。
  3. 成员模板。这是完成大部分工作的模板。它会遍历 XML 文档中的所有类型,并显示它们各自的字段、属性和方法。
  4. 其他模板。其他模板将 MSDN 的 XML 文档参考中提到的所有单个标签格式化为基本的 HTML 元素,因此您可以在这里更改任何标签以特定方式格式化。例如,如果您想将文档中的所有摘要格式化为绿色,您可以修改 <xsl:template match="summary"> 部分。

我在 XSL 文件中添加了一些注释,解释了在循环和条件语句涉及时它的作用,我还将所有 HTML 标签都大写了。我希望这能使文件更容易理解和修改。

下一步

一旦您根据需要更改了 XSL 文件,您就可以使用它来输出实际的 HTML 文档。您可以使用 .NET Framework 丰富的 XML 类来完成此操作,或者简单地使用 Web 上提供的许多实用工具之一。但这又是另一回事了;在该网站的“SOAP 和 XML 主题”部分进行搜索可能是一个不错的起点。

反馈

尽管我在设计此样式表时力求详尽,但我必须承认我没有用所有可能的标签对其进行测试,因此有些标签可能还可以更好地格式化。如果您认为有任何标签可以更好地处理,请告诉我,我会修改样式表。

历史

  • 2005 年 2 月发布第一个版本
  • 2005 年 9 月发布第二个版本 - 将版权声明移至第一个 XML 行之后。
  • 2018 年 10 月 - 删除了“参考文献”部分,因为所有链接都已损坏
© . All rights reserved.