我的问题与此类似,作者询问如何找到一组元素的最小属性。我是 xpath 的初学者,我无法接受该答案并将其添加到我的 XSLT。我需要找到一个计划的最低价格(见下文)并向包含该最低价格的细分添加一个属性。
我有以下 XML 片段:
<Subdivision Status="Active">
<SubdivisionName>Chesla</SubdivisionName>
<Plan Type="SingleFamily">
<PlanNumber>555</PlanNumber>
<PlanName>Pinewood</PlanName>
<BasePrice>200500.0000</BasePrice>
</Plan>
<Plan Type="MultiFamily">
<PlanNumber>444</PlanNumber>
<PlanName>Westfield</PlanName>
<BasePrice>270000.0000</BasePrice>
</Plan>
注意:我的 XML 文档中可以有多个细分。为简洁起见,我只是在示例中显示一个。
我的最终输出与输入相同,只是在 Subdivision 元素中添加了 PriceLow 属性,该元素包含作为 Subdivision 兄弟的所有 Plans 的最小 BasePrice:
<Subdivision Status="Active" PriceLow="200500.00"> <==== ADDED!!!
<SubdivisionName>Chesla</SubdivisionName>
<Plan Type="SingleFamily">
<PlanNumber>555</PlanNumber>
<PlanName>Pinewood</PlanName>
<BasePrice>200500.00</BasePrice>
</Plan>
<Plan Type="MultiFamily">
<PlanNumber>444</PlanNumber>
<PlanName>Westfield</PlanName>
<BasePrice>270000.00</BasePrice>
</Plan>
我不完整的 xsl 文件如下所示:
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="Subdivision">
... something goes here ...
</xsl:template>
有人可以帮我完成这个 XSLT 文件吗?我正在阅读一些关于 XSLT 的书籍,但与此同时我需要尽快完成这个项目。
干杯,布雷特