これは、私が使用している XML ファイルの表現です。
<root>
<header>
...
</header>
<pupils>
<pupil>
<name>Chris</name>
<assessments>
<stage>
<level>1</level>
<assessment>
<year>2012</year>
<result>55</result>
</assessment>
...
</stage>
</assessments>
</pupil>
...
</pupils>
</root>
注: 生徒が LEVEL 1 の ASSESSMENT を持つことは可能ですが、2012 年以外の YEAR です。
2012 年にレベル 1 の評価を受けた生徒を選びたいと思います。
したがって、次の「ネストされたセレクター」メソッドがこれらの生徒を選択するのに正当かどうかを尋ねたいと思います。
select="root/pupils/pupil[assessments/stage/level[../assessment/year = '2012'] = '1']"
( XsltCakeは私が期待するものを返しません)
私の最初の試みはこれをもたらしました:
select="root/pupils/pupil[assessments/stage/level = '1' and assessments/stage/assessment/year = '2012']"
ただし、生徒が 2012 年以外の LEVEL 1 の ASSESSMENT を取得している一方で、2012 年に別の LEVEL の ASSESSMENT を取得している可能性があるため、それらの生徒も選択されます。