官方XSLT验证器?

mid*_*ite 15 xml xslt validation xhtml

有没有官方的XSLT验证器,如http://validator.w3.org/的HTML和XHTML?

我知道http://validator.w3.org/也可用于验证XML和XSL文档.但它们被验证为XML结构.

例如,在有效的XHTML中,<span><div>...</div></span>无效,因为块元素不应出现在内联元素中.

那么,是否有一种方便的方法来直接验证XSL文档?

(我想我们可以组合XML和XSL,输出XHTML,然后验证它.但这不是直接而且不方便.)

谢谢!

Mat*_*ler 11

我假设通过验证XSLT样式表,您的意思是检查已经格式良好的XML文档(看起来是XSLT代码)中的元素,属性等是否符合XSLT W3C规范.

首先,请注意XML文档的格式和有效性之间存在差异.如果包含的元素被正确嵌套,如果存在单个根元素等,则格式良好(这由XML规范定义).另请参阅:"有效xml"和"格式良好的xml"之间是否存在差异?.

XML文档的有效性只能与XML模式(或DTD或RelaxNG ...)一起验证.模式是一组规则,例如,定义哪些元素和属性以什么顺序被允许.

现在,回答你的问题:W3C没有这样的服务,但是,有一个可用的模式,参见例如http://www.w3.org/2007/schema-for-xslt20.xsd,了解包含所有模式的模式"标准"的结构XSLT 2.0.

您可以根据此架构验证XSLT代码.尽管如此,使用XSLT处理器运行代码并查找它产生的警告和错误更具洞察力.


此外,请注意XSLT代码的有效性和它输出的XHTML的有效性是不一样的.即使您的XSLT在XSLT规范方面完全有效,也不意味着生成的XHTML是合理的.


Fly*_*179 0

有许多 XML 编辑工具(可能还有一些 HTML 编辑工具)都知道 (X)HTML 的结构,足以突出显示错误。例如,Visual Studio 可以使用该架构验证任何 XML 文档,包括 XHTML 或 XSL——跨度内是否允许使用 div 是在 XHTML 架构中定义的。