![](/img/trans.png)
[英]Removing Child nodes in XML and copying their data to parent node using XSLT
[英]XSLT: Aggregate child nodes data in parent
假設我有以下節點:
<parent>
<child size="1" />
<child size="2" />
<child size="3" />
</parent>
我想要在輸出文檔中得到的是子項大小的平均值,最小值和最大值。 即
<parent min-size="1" max-size="3" avg-size="2" />
是否可以將XSLT 1.0與EXSLT擴展一起使用?
這是使用math:max()和math:min()的示例...
XSLT 1.0 (stylesheet.xsl)
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:math="http://exslt.org/math"
extension-element-prefixes="math">
<xsl:output indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="parent">
<parent min-size="{math:min(child/@size)}"
max-size="{math:max(child/@size)}"
avg-size="{sum(child/@size) div count(child/@size)}"/>
</xsl:template>
</xsl:stylesheet>
蟒蛇
from lxml import etree
tree = etree.parse("input.xml")
xslt = etree.parse("stylesheet.xsl")
new_tree = tree.xslt(xslt)
print(etree.tostring(new_tree, pretty_print=True).decode("utf-8"))
產量
<parent min-size="1" max-size="3" avg-size="2"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.