1

カウントに関する質問を投稿していました。インターナショナルの平均的な高さを考え出す方法と、最も高いものから最も低いものまでの高さを表示する高低関数を探しています...

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="soccer.xslt"?>
<footballclub>
    <player>
        <based>international</based>
        <height>5.5</height >
        <build>medium</build>
        <age>24</age>
    </player>
    <player>
        <based>local</based>
        <height>5.5</height >
        <build>medium</build>
        <age>24</age>
    </player>
    <player>
        <based>international</based>
        <height>5.5</height >
        <build>medium</build>
        <age>24</age>
    </player>
    <player>
        <based>local</based>
        <height>5.5</height >
        <build>medium</build>
        <age>24</age>
    </player>
    <player>
        <based>local</based>
        <height>7.5</height >
        <build>medium</build>
        <age>34</age>
    </player>
    <player>
        <based>international</based>
        <height>5.9</height >
        <build>large</build>
        <age>26</age>
    </player>
</footballclub>
4

1 に答える 1

1

この変換

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="text"/>

 <xsl:variable name="vInter" select="/*/*[based='international']"/>

 <xsl:template match="/">
     Average height: <xsl:copy-of select="sum($vInter/height) div count($vInter)"/>

     Height high to low:<xsl:text/>

     <xsl:for-each select="$vInter/height">
       <xsl:sort data-type="number" order="descending"/>
       <xsl:value-of select="concat('&#xA;      ', .)"/>
     </xsl:for-each>
 </xsl:template>
</xsl:stylesheet>

提供されたXMLドキュメントに適用した場合

<footballclub>
    <player>
        <based>international</based>
        <height>5.5</height >
        <build>medium</build>
        <age>24</age>
    </player>
    <player>
        <based>local</based>
        <height>5.5</height >
        <build>medium</build>
        <age>24</age>
    </player>
    <player>
        <based>international</based>
        <height>5.5</height >
        <build>medium</build>
        <age>24</age>
    </player>
    <player>
        <based>local</based>
        <height>5.5</height >
        <build>medium</build>
        <age>24</age>
    </player>
    <player>
        <based>local</based>
        <height>7.5</height >
        <build>medium</build>
        <age>34</age>
    </player>
    <player>
        <based>international</based>
        <height>5.9</height >
        <build>large</build>
        <age>26</age>
    </player>
</footballclub>

必要な正しい結果を生成します

     Average height: 5.633333333333333

     Height high to low:
        5.9
        5.5
        5.5
于 2012-10-19T17:27:03.337 に答える