有人可以帮助我进行XSL文件验证吗?我不想为启动/关闭标签验证它,而是为“内部属性”验证它。
例如:
我的XSL文件包含行<td><xsl:value-of select="year"/></td>
我需要检查一下这个语法错误,例如<td><xsl:vae-of select="year"/></td>
。
有没有办法用javascript或jQuery怎么做?
答案 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的任何错误。
当然,错误信息对于识别代码中的错误并没有多大帮助。