如何验证XSL文件?

时间:2014-02-09 13:54:04

标签: validation xslt

有人可以帮助我进行XSL文件验证吗?我不想为启动/关闭标签验证它,而是为“内部属性”验证它。 例如: 我的XSL文件包含行<td><xsl:value-of select="year"/></td> 我需要检查一下这个语法错误,例如<td><xsl:vae-of select="year"/></td>

有没有办法用javascript或jQuery怎么做?

1 个答案:

答案 0 :(得分:1)

XSLT处理器检查样式表代码,因此在Mozilla浏览器中,您可以将带有样式表代码的DOM文档传递给importStylesheet对象的XSLTProcessor方法,例如

var proc = new XSLTProcessor();
var sheet = new DOMParser().parseFromString([
    '<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">',
    '<xsl:template match="/"><xsl:vae-of select="year"/></xsl:template>',
    '</xsl:stylesheet>'
    ].join('\n'), 'application/xml');
try {
    proc.importStylesheet(sheet);
}
catch(e) {
    // handle error here e.g.
    console.log(e.message);
}

输出“组件返回失败代码:0x80600001 [nsIXSLTProcessor.importStylesheet]”。

但请注意,XSLT 1.0处理器应该在forwards compatible模式下处理版本大于1.0的样式表代码,如果您想将用户输入代码验证为XSLT 1.0,则需要确保它有version="1.0"来捕获XSLT语言版本1.0的任何错误。

当然,错误信息对于识别代码中的错误并没有多大帮助。