Nokogiri XSLT可以使用无效的样式表进行转换

时间:2017-08-01 18:39:11

标签: ruby xml xslt nokogiri

如果我尝试转换样本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并在错误时抛出错误?

0 个答案:

没有答案