任何人都可以帮助我进行XSL文件验证?我不想验证它的开始/关闭标签,但“内部属性”。 检查: 我的XSL文件包含行<td><xsl:value-of select="year"/></td>
我需要检查这一个的语法错误,如<td><xsl:vae-of select="year"/></td>
。如何验证XSL文件?
有什么办法如何用JavaScript或jQuery做到这一点?
任何人都可以帮助我进行XSL文件验证?我不想验证它的开始/关闭标签,但“内部属性”。 检查: 我的XSL文件包含行<td><xsl:value-of select="year"/></td>
我需要检查这一个的语法错误,如<td><xsl:vae-of select="year"/></td>
。如何验证XSL文件?
有什么办法如何用JavaScript或jQuery做到这一点?
XSLT处理器检查样式表代码,因此在Mozilla浏览器中,您可以将样式表代码传递给importStylesheet
对象的importStylesheet
方法,例如,
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);
}
outputs“Component returned failure code:0x80600001 [nsIXSLTProcessor.importStylesheet]”。
但请注意,XSLT 1.0处理器应该在forwards compatible模式下处理大于1.0版本的样式表代码,并且如果您想验证用户输入代码为XSLT 1.0,则需要确保它具有version="1.0"
可以捕获XSLT语言版本1.0的任何错误。
当然,这个错误信息对于识别代码中的错误并不是很有帮助。
就是这样!谢谢:) 我会尽力找到一些有关错误信息的信息,但这正是我期待的! – Martin
我认为使用未在其名称空间中定义的元素将被XML验证捕获。所以也许这是你的答案:https://stackoverflow.com/questions/6334119/check-for-xml-errors-using-javascript – minopret
它可能是,但只是部分... 我会显示消息什么是错的。在这种情况下,像错误的参数“vae-of”。我知道它存在,但我找不到它 – Martin