if-xpath-attribute.xtp

来自「resinweb服务器源文件」· XTP 代码 · 共 59 行

XTP
59
字号
<s1 title="Default Attributes with XPath if()"><p>Since xsl:if can be cumbersome, Resin adds a special XPathfunction <var/if()/>.  Although if() is not part of the XPath standard,it's expected that the next version of the standard will add it.<p><var/if()/> is like the Java conditional expression<var/test&nbsp;?&nbsp;true&nbsp;:&nbsp;false/> pattern.  In XPath, itlooks like <var/if(test,true,false)/>.  Using if() can simplifystylesheets dramatically, especially in combination with attributevalue templates.  Thefollowing is a simplification of the previous stylesheet using "example"as the default attribute value.</p><example title='default.xsl'>&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">&lt;xsl:template match="example">  &lt;table class="if(@class,@class,'example')">    &lt;tr>      &lt;td>        &lt;xsl:apply-templates/>      &lt;/td>    &lt;/tr>  &lt;/table>&lt;/xsl:template>&lt;/xsl:stylesheet></example><p>Notice that the 'example' value needs to be quoted, otherwise itwould be interpreted as selecting an element value.  The following XTPspecifies a different class for the example.  Often, though, it's agood idea to stick with meaningful tags like &lt;example> and leaveformatting questions like the CSS class to the stylesheet.  In that case,you can use attributes to select different templates.</p><example title='hello.xtp'>&lt;example class="simple-example">This is an example.&lt;/example></example><results>&lt;table class="simple-example">&lt;tr>  &lt;td>This is an example&lt;/td>&lt;/tr>&lt;/table></results><s2 title="Summary"><ul><li><var/if(expr,true_expr,false_expr)/> is a conditional expression.</ul></s2></s1>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?