Как можно понять из вопроса, который:Как отменить возврат в xquery?
Retrieve a nonredundant list of dancer ids and names of those dancers who
took part in the Auckland 2008 competition. Sort by @dancer_id. The output
of your query should conform to the following DTD:
<!ELEMENT Auckland_2008_Dancers (she_dancers,
he_dancers)>
<!ELEMENT she_dancers (Dancer)+>
<!ELEMENT Dancer EMPTY>
<!ATTLIST Dancer id CDATA #REQUIRED name CDATA #REQUIRED>
<!ELEMENT he_dancers (Dancer)+>
выход я думаю, должен выглядеть следующим образом:
<Auckland_2008_Dancers>
<she_dancers>
<Dancer id="d6006" name="Sally Ann"/>
</she_dancers>
<she_dancers>
<Dancer id="d5005" name="Mimi"/>
</she_dancers>
<she_dancers>
<Dancer id="d1001" name="Anny"/>
</she_dancers>
<he_dancers>
<Dancer id="d9009" name="Gordon"/>
</he_dancers>
<he_dancers>
<Dancer id="d9008" name="Dimitrij"/>
</he_dancers>
<he_dancers>
<Dancer id="d7007" name="James"/>
</he_dancers>
<he_dancers>
<Dancer id="d8007" name="Paul"/>
</he_dancers>
</Auckland_2008_Dancers>
Но мой код, который:
let $c:=fn:doc("/db/Zahra/dancingCompetitions_XQuery_15.xml")/dancingCompetitions/Competition[contains(@date,"2008") and @place="Auckland"]/Dance/dancePair
let $c2:=fn:doc("/db/Zahra/dancingCompetitions_XQuery_15.xml")/dancingCompetitions/Pairs/Pair
let $h:=fn:doc("/db/Zahra/dancingCompetitions_XQuery_15.xml")/dancingCompetitions/Dancers/he_dancers/Dancer
let $s:=fn:doc("/db/Zahra/dancingCompetitions_XQuery_15.xml")/dancingCompetitions/Dancers/she_dancers/Dancer
for $c3 in distinct-values($c/@ref_pair)
let $m := $c2[@pair_id = $c3]
return
<Auckland_2008_Dancers>
{
for $c5 in $m/she/@ref_she_dancer
let $c6 := $s[@dancer_id=$c5]
order by $c6/@dancer_id
return
<she_dancers>
<Dancer id="{$c6/@dancer_id}" name="{$c6/Name}"/>
</she_dancers>
}
{
for $c4 in $m/he/@ref_he_dancer
let $c7 := $h[@dancer_id=$c4]
order by $c7/@dancer_id
return
<he_dancers>
<Dancer id="{$c7/@dancer_id}" name="{$c7/Name}"/>
</he_dancers>
}
</Auckland_2008_Dancers>
производит:
<Auckland_2008_Dancers>
<she_dancers>
<Dancer id="d5005" name="Mimi"/>
</she_dancers>
<he_dancers>
<Dancer id="d7007" name="James"/>
</he_dancers>
</Auckland_2008_Dancers>
<Auckland_2008_Dancers>
<she_dancers>
<Dancer id="d6006" name="Sally Ann"/>
</she_dancers>
<he_dancers>
<Dancer id="d9008" name="Dimitrij"/>
</he_dancers>
</Auckland_2008_Dancers>
<Auckland_2008_Dancers>
<she_dancers>
<Dancer id="d1001" name="Anny"/>
</she_dancers>
<he_dancers>
<Dancer id="d8007" name="Paul"/>
</he_dancers>
</Auckland_2008_Dancers>
<Auckland_2008_Dancers>
<she_dancers>
<Dancer id="d6006" name="Sally Ann"/>
</she_dancers>
<he_dancers>
<Dancer id="d9009" name="Gordon"/>
</he_dancers>
</Auckland_2008_Dancers>
что я делаю? как исправить? Я пробовал так много вещей, чтобы отбирать возвраты из, и некоторые из них произвели один и тот же результат, а некоторые дали ошибки.
Для будущих вопросов, пожалуйста, включите пример ввода. Кроме того, обязательно используйте разумные, описательные имена переменных (по всему коду, всегда). Вы могли бы понять, что происходит прямо сейчас, но не более двух недель, а не вашего инструктора, и если вы работаете в более крупных проектах, никто больше ничего не поймет. –