c# - XSLT 不会匹配空的 XML 元素
问题描述
我用 C# 编写了一个程序,它使用 XSLT 将一个文档模式转换为另一个。要转换的文件实际上以 SGML 开头,我首先将其转换为 XML 以准备运行 XSL 样式表。这种转换的结果意味着我有像<noclose>
SGML 文件中的元素(这是完全合法的),在预转换为 XML 之后,它们会导致<noclose></noclose>
. 即空元素。
似乎当我的 XSL 在文档上运行时,这些空元素被完全遗漏了,尽管有一个模板来匹配它们:
<xsl:template match="noclose">
<xsl:element name="newElement">
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
由于从 SGML 进行的预转换,这发生在文档的几个具有空 XML 元素的区域中。有谁知道为什么 XSL 模板会忽略这些元素以及如何从 XSLT 的角度绕过它?
解决方案
推荐阅读
- python - 相关字段查找无效:用户
- kubernetes - Kubernetes 中的嵌入式 Hazelcast 不形成集群
- eclipse - 我想创建一个我的世界客户端
- css - 用 SVG 创建图标按钮的“最佳实践”方法是什么?
- google-bigquery - Big Query:发生内部错误,无法完成请求
- visual-studio - 适用于 Windows Embedded Compact 7 的 Platform Builder 与 Visual Studio 的兼容性
- angular - Angular - 无法将数据传递到块引用中
- mysql - 如何解决“配置文件的权限错误,不应该是全局可写的!” 在 Mac 上
- powerbi - 在 PowerBI 中输入数据特征
- php - 在 WooCommerce“我的帐户”页面上显示订阅续订计数