我正在研究XML& XSLT动态值必须生成。
我的XmL
<query>
<one>testing1</one>
<one>testing1</one>
</query>
我的输出Xml
<query>
<one>testing1</one>
<one>testing1</one>
<sample>100</sample>
</query>
XSLT 我需要检查(XSL:IF)是否可以使用输入XML中的样本元素是否可用10%我必须使用XSLT删除%然后输出将是10.如果XML中没有元素(示例)它必须创建默认为100。
我们能否在XSLT中做到这一点是可能的。
有人可以帮助我吗
此致 中号
答案 0 :(得分:2)
这个怎么样......
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/*[not(//sample)]">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
<sample>100</sample>
</xsl:copy>
</xsl:template>
<xsl:template match="sample">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<xsl:value-of select="translate(.,'%','')"/>
<xsl:apply-templates select="*"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
第二个模板添加了示例节点(如果它不存在)。 第三个模板从现有样本中删除任何百分号。