是否有编译成xslt并使其更易于使用和支持的语言

是否有编译成xslt并使其更易于使用和支持的语言,xslt,Xslt,XSLT是一个非常强大的工具,但是使用它会很痛苦。。。即使有 大致上,我想要一个用于xslt的coffeescript,例如编译的东西 template test params = {:foo => 'foo', :bar => 1} <p>$foo, $bar</p> end call test :foo => 'oof', :bar => 2 模板测试 参数={:foo=>foo',:bar=>1} $foo$bar 结束 调用测

XSLT是一个非常强大的工具,但是使用它会很痛苦。。。即使有

大致上,我想要一个用于xslt的coffeescript,例如编译的东西

template test
  params = {:foo => 'foo', :bar => 1}
  <p>$foo, $bar</p>
end

call test :foo => 'oof', :bar => 2 
模板测试
参数={:foo=>foo',:bar=>1}
$foo$bar

结束 调用测试:foo=>oof',:bar=>2
进入


,

或者什么…

你可以检查一下

它可以帮助您生成XSL模板

例如:

xml sel -C -t -c "xpath0" -m "xpath1" -m "xpath2" -v "xpath3" -t -m "xpath4" -c "xpath5"
将产生

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output omit-xml-declaration="yes" indent="no"/>
  <xsl:template match="/">
    <xsl:call-template name="t1"/>
    <xsl:call-template name="t2"/>
  </xsl:template>
  <xsl:template name="t1">
    <xsl:copy-of select="xpath0"/>
    <xsl:for-each select="xpath1">
      <xsl:for-each select="xpath2">
        <xsl:value-of select="xpath3"/>
      </xsl:for-each>
    </xsl:for-each>
  </xsl:template>
  <xsl:template name="t2">
    <xsl:for-each select="xpath4">
      <xsl:copy-of select="xpath5"/>
    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>


我强烈建议避免使用任何此类“工具”,因为不能保证它传达并保留XSLT语言的全部含义和功能。比使用这些工具好得多的是使用一个好的XSLT IDE,如XSelerator、Visual Studio或oXygen。例如,在VisualStudio中键入
,当然我指的是一些保留完整“XSLT含义和功能”的工具。这些IDE-s很适合创建xsl,但在使用它的同时,仍有大量代码需要查看和编辑。
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output omit-xml-declaration="yes" indent="no"/>
  <xsl:template match="/">
    <xsl:call-template name="t1"/>
    <xsl:call-template name="t2"/>
  </xsl:template>
  <xsl:template name="t1">
    <xsl:copy-of select="xpath0"/>
    <xsl:for-each select="xpath1">
      <xsl:for-each select="xpath2">
        <xsl:value-of select="xpath3"/>
      </xsl:for-each>
    </xsl:for-each>
  </xsl:template>
  <xsl:template name="t2">
    <xsl:for-each select="xpath4">
      <xsl:copy-of select="xpath5"/>
    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>