如何将xsl:if用于输出类型=标签。我不怎么做if语句语法。
我正在使用xslt 1.0。
<xsl:if test="">
<xsl:attribute name="type">
<xsl:value-of select=""/>
</xsl:attribute>
</xsl:if>
这是资源:
<xxxxx type="str">label</xxxxx>
我喜欢这样输出
<key name="xxxxx" type="label"/>
答案 0 :(得分:0)
假设您匹配MapSqlParameterSource parameters = new MapSqlParameterSource();
parameters.addValue("varOne", varOne);
parameters.addValue("varTwo", Long.parseLong(varTwo));
parameters.addValue("varThree", varThree);
Long employeeId = jdbcTemplate.queryForObject("select employee_id from table_employee where age=:varTwo and marks in (:varOne) and name =:varThree" , Long.class , parameters);
元素,您想要的表达式就是这个
xxxxx
请注意,我不知道其余的XSLT是什么样子,或者您是否正在寻找通用的东西,但是如果您要创建或更改其他属性,则可能想了解Attribute Value Templates。例如...
<xsl:if test="@type='str'">
应用于此XSLT
<xsl:template match="*">
<key name="{local-name()}">
<xsl:if test="@type='str'">
<xsl:attribute name="type">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:if>
</key>
</xsl:template>
以下为输出
<xxxxx type="str">label</xxxxx>
答案 1 :(得分:0)
如何将xsl:if用于输出类型=标签。我不知道怎么办 语句语法。
我正在使用xslt 1.0。
使用XSLT时,几乎不需要使用任何XSLT条件指令 –当使用该语言的全部功能时,可以(并且应该)避免使用这些指令。
以下是解决问题的一种方法:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="xxxxx[@type='str']">
<key name="xxxxx" type="{.}"/>
</xsl:template>
</xsl:stylesheet>
将此转换应用于以下XML文档(未提供!)时:
<t>
<a/>
<xxxxx type="str">label</xxxxx>
<b/>
<c/>
</t>
产生想要的正确结果:
<key name="xxxxx" type="label"/>