又是一件简单的事情。我有一个解析 XML 和 XSL 文件的样式表。基本上,它会尝试检测 XML 是否是样式表:
<xsl:if test="count(//xsl:template)!=0">
它确实检测到样式表。但是,XML 文件存在问题,会生成“未定义的命名空间前缀 - 'xsl' ”错误。(在 XmlSpy 中。我正在处理的项目中有类似的错误。)
我做错了什么。有关如何改进此样式表的任何建议?
一些附加信息:这是一个用于分析其他 XML 文件的样式表,无论它们包含什么。它甚至应该能够自我改造,而且做得很好。转换其他(正常)样式表也没有问题。当我尝试转换常规 XML 文件时,问题就来了。然而,并非所有 XML 文件...
事实证明,错误是另一回事。我尝试转换的 XML 文件包含处理指令。这个:<?xml-stylesheet href="..\MyStylesheet.xsl" type="text/xsl"?>
我现在遇到的问题是,当我处理包含此 PI 的 XML 文件时,XSLT 开始报告有关未定义名称空间前缀的错误。那么,我如何告诉 XSLT 处理器忽略这个处理指令呢?