2011-09-20 14 views
5

XSLT çok güçlü bir araçtır, ancak zencoding ile bile acı verici olabilir. xslt içine derleyen ve onu kullanmak ve desteklemek için daha basit bir dil var mı

Kabaca ben XSLT için bir CoffeeScript, Sen XMLStarlet kontrol edebilir

<xsl:call-template name="test"> 
    <xsl:with-param select="'oof'" name="foo"></xsl:with-param> 
    <xsl:with-param select="2" name="bar"></xsl:with-param> 
</xsl:call-template> 

<xsl:template name="test"> 
    <xsl:param select="'foo'" name="foo" /> 
    <xsl:param select="1" name="bar" /> 
    <p><xsl:value-of select="$foo" />, <xsl:value-of select="$bar" /></p> 
</xsl:template> 

falan ...

+0

üretecektir: Örneğin

XSLT dili. Bu araçları kullanmanın çok daha iyi olması, XSelerator, Visual Studio veya oXygen gibi iyi bir XSLT IDE kullanmaktır. –

+0

Şemaya dayalı kod tamamlama ile bir editör kullanın. Örneğin, Visual Studio'da '' olduğunda "

+0

Elbette, "XSLT anlamı ve işlevselliğini" tam olarak koruyan bir araç kastediyorum. Bu IDE-ler xsl oluşturmak için iyidir, ancak onunla çalışırken, görüntülemek ve düzenlemek için hala bir çok kodunuz vardır. – installero

cevap

1

içine örnek

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

call test :foo => 'oof', :bar => 2 

için derleyip bir şey istiyorum.

XSL şablonları oluşturmanıza yardımcı olabilir.

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

orada taşır dair bir garanti ve tam anlam ve işlevsellik korur çünkü şiddetle tür "aracını" önlemek için tavsiye ediyorum

<?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> 
İlgili konular