Я пытаюсь вернуть некоторый результат, и у меня возникают некоторые трудности, вполне возможно, что у меня нет правильного понимания Xquery for-if-then- -все заявления.Xquery for-if-then-else неожиданный вывод
for $S in doc("prac5a.xml")/enrolment
return
<enrolment>{
for $s in//student, $e in//enrol
return
if($s/id = $e/stud) then
<student>{$s/id, $s/name, $e/crs}</student>
else <student>{$s/id, $s/name}</student>
}</enrolment>
От этого я ожидал выхода чего-то подобного;
<enrolment>
<student>
<id>s1</id>
<name>John</name>
<crs>c1</crs>
<crs>c2</crs>
</student>
<student>
<id>s2</id>
<name>Peter</name>
<crs>c2</crs>
<crs>c3</crs>
</student>
<student>
<id>s3</id>
<name>Rob</name>
</student>
Вместо этого я получаю это;
<?xml version="1.0" encoding="UTF-8"?>
<enrolment>
<student>
<id>s1</id>
<name>John</name>
<crs>c1</crs>
<crs>c2</crs>
</student>
<student>
<id>s1</id>
<name>John</name>
</student>
<student>
<id>s2</id>
<name>Peter</name>
</student>
<student>
<id>s2</id>
<name>Peter</name>
<crs>c2</crs>
<crs>c3</crs>
</student>
<student>
<id>s3</id>
<name>Rob</name>
</student>
<student>
<id>s3</id>
<name>Rob</name>
</student>
</enrolment>
Почему? или, что более важно, я полагаю, как я мог получить желаемый результат.
Как выглядят исходные данные? – FatalError
В вашем вопросе не хватает как ввода, так и описания того, что вы на самом деле хотите достичь. Пожалуйста, прочитайте [ask] и [как опубликовать SSCCE] (http://www.sscce.org). –