0

私は次のxmlを持っています:

<Candidate:candidateInfo>
  <Candidate:name> AAA</Candidate:name>
  <Candidate:age>16</Candidate:age>
  <Candidate:sex>M</Candidate:sex>
</Candidate:candidateInfo>
<Candidate:candidateInfo>
  <Candidate:name> BBB</Candidate:name>
  <Candidate:age>28</Candidate:age>
  <Candidate:sex>F</Candidate:sex>
</Candidate:candidateInfo>
<Candidate:candidateInfo>
  <Candidate:name>CCC</Candidate:name>
  <Candidate:age>28</Candidate:age>
  <Candidate:sex>M</Candidate:sex>
</Candidate:candidateInfo>

候補年齢の昇順でノードを並べ替える必要があります.3 つの並べ替えられた値のうち、対応する年齢が 18 歳を超える場合は、中央値 (3 つのうち 2 番目) 要素からすべての情報を入力する必要があります。要素から値を入力します 3.

4

1 に答える 1

0

質問を正しく理解している場合:

<xsl:template match="/">
    <xsl:apply-templates select="Candidate:candidateInfo[number(Candidate:age) > 18]">
        <xsl:sort-by select="number(Candidate:age)"/>
    </xsl:apply-templates>
</xsl:template>

<xsl:template match="Candidate:candidateInfo">
    <xsl:copy-of select="."/>
</xsl:template>

このフィルターは、19 歳未満のすべての候補情報要素を削除します。

于 2012-12-07T08:07:39.120 に答える