如果我尝试转换样本xml(target.xml
)
<?xml version="1.0"?>
<root />
使用无效的XSL样式表(invalid.xsl
):
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml" version="1.0">
<xsl:template match="/root">
<new-root />
</xsl:stylesheet>
</xsl:template>
使用Nokogiri(1.6.8.1)ruby v2.1.9:
require 'nokogiri'
print Nokogiri::XSLT(File.open('invalid.xsl'))
.transform(Nokogiri::XML(File.open('target.xml')))
它将成功完成:
# ruby program.rb
<?xml version="1.0"?>
<new-root xmlns="http://www.w3.org/1999/xhtml"/>
如何配置nokogiri来验证XSL并在错误时抛出错误?