我是相当新的编码XSLT,并已得到了相当卡住努力做到以下几点。
我有一个具有繁殖马匹分为两个主要部分信息的XML文件。 1.马节点都有各自的马匹的表现细节,以及一个ID,谁是自己的父亲是。 2.赛瑞斯节点的赛瑞斯还抱着养殖具体的统计数据列表。
我需要梳理公牛的基础上,通过他们的马驹获得了“股权的钱(在马节点IE)的总和名单。
所以减少XML文件是这样的:
<Horses>
<Horse>
<ID>1</ID>
<Name>hrsA</Name>
<SireID>101</SireID>
<Pace>
<Stakes>4800</Stakes>
</Pace>
</Horse>
<Horse>
<ID>2</ID>
<Name>hrsB</Name>
<SireID>102</SireID>
<Pace>
<Stakes>3600</Stakes>
</Pace>
</Horse>
<Horse>
<ID>3</ID>
<Name>hrsC</Name>
<SireID>102</SireID>
<Pace>
<Stakes>2800</Stakes>
</Pace>
</Horse>
<Horse>
<ID>4</ID>
<Name>hrsD</Name>
<SireID>101</SireID>
<Pace>
<Stakes>56</Stakes>
</Pace>
</Horse>
<Horse>
<ID>5</ID>
<Name>hrsE</Name>
<SireID>100</SireID>
<Pace>
<Stakes>20000</Stakes>
</Pace>
</Horse>
<Horse>
<ID>6</ID>
<Name>hrsF</Name>
<SireID>101</SireID>
<Trot>
<Stakes>20000</Stakes>
</Trot>
</Horse>
<Horse>
<ID>7</ID>
<Name>hrsG</Name>
<SireID>101</SireID>
<Trot>
<Stakes>559</Stakes>
</Trot>
</Horse>
<Horse>
<ID>8</ID>
<Name>hrsH</Name>
<SireID>102</SireID>
<Pace>
<Stakes>386</Stakes>
</Pace>
<Trot>
<Stakes>10000</Stakes>
</Trot>
</Horse>
</Horses>
<Sires>
<Sire>
<ID>100</ID>
<Name>srA</Name>
<LiveFoalsALL>117</LiveFoalsALL>
</Sire>
<Sire>
<ID>101</ID>
<Name>srB</Name>
<LiveFoalsALL>774</LiveFoalsALL>
</Sire>
<Sire>
<ID>102</ID>
<Name>srC</Name>
<LiveFoalsALL>43</LiveFoalsALL>
</Sire>
</Sires>
所以总结的各种利害关系的产量将有这样的排序:
Sire 101 (srB) Stakes: $25415
Sire 100 (srA) Stakes: $20000
Sire 103 (srC) Stakes: $16768.
当我还是总结和订购其他网页我能够使用单个马股份:
<xsl:apply-templates select="Horse">
<xsl:sort select="sum(descendant::Stakes)" data-type="number"
order="descending"/>
</xsl:apply-templates>
我只是无法弄清楚如何为公牛引用马节点相加来得到正确的排序......可能是这样的,我尽量说陛下/ ID等于做同样的马/ SireID:
<xsl:apply-templates select="Sire">
<xsl:sort select="sum(//Horses/Horse[@SireID=ID]/descendant::Stakes)"
data-type="number" order="descending"/>
</xsl:apply-templates>
但是,这并不工作,调试器跳直出,当它击中的那种线,所以我的语法必须是无效的当前模板的。 我一直在试图对这一主题没有成功的变化。
任何人都可以请给我如何调用我的陛下模板,得到正确排序的指针?
谢谢,
布莱斯Stenberg发明