0

我正在研究必须生成的 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 中做到这一点是可能的。

任何人都可以在这里帮助我吗

问候米

4

1 回答 1

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>

解释

第二个模板添加示例节点(如果不存在)。第三个模板从现有样本中删除任何百分比符号。

于 2012-07-07T13:57:49.917 回答