У меня есть XML-файл, к которому я пытаюсь извлечь заголовки книг и журналов элементов, в которых соответствующий комментарий по ID и IDREF не имеет значения в комментариях.XQuery найти элемент, где дочерний атрибут соответствия пуст
Так файл XML я должен выглядеть примерно так:
<bookshop>
<product ID="185.3.16">
<price currency="AU$">56.85</price>
<comments>Best sell</comments>
</product>
<product ID="163.24.12">
<price currency="NZ$">28.6</price>
<comments />
</product>
<product ID="332.17.25">
<price currency="US$">19.95</price>
<comments></comments>
</product>
<book IDREF="163.24.12">
<title>Core Java</title>
</book>
<book IDREF="185.3.16">
<title>C++ Development</title>
</book>
<journal IDREF="332.17.25">
<title>Mathematics and Computing</title>
</journal>
</bookshop>
И выход я пытаюсь достичь:
<title>Core Java</title>
<title>Mathematics and Computing</title>
, потому что книга C++ IDREF Развитие соответствует идентификатор продукт, чьи детские комментарии не имеют значения.
Я попытался создать сценарий, используя xquery, чтобы сделать это, пытаясь найти все элементы с отдельным атрибутом идентификатора, где его дочерний комментарий также пуст, но у меня возникают проблемы с попыткой найти продукты без комментарии, а затем перевод этих результатов во что-то, что я могу вернуть. (Я не могу дать возвращающему надлежащие идти, пока я не могу решить продукты, так что я не был в состоянии сделать много свободы действий с этим.) Но вот что я пытался до сих пор:
for $id in distinct-values(//product/@ID)
where count(//product/comments/text()) > 0
return ...?
Любая помощь приветствуется.
Заранее благодарен!
Столько, сколько я хотел бы использовать XPath, я ограничен XQuery для данного конкретного случая использования – SteppingHat
XPath - это подмножество XQuery ... вы пробовали? – har07
Да, но этот вопрос является частью небольшой части университетского задания, что требует от меня использования xquery без участия xpath. К сожалению, я не могу использовать xpath столько, сколько захочу. – SteppingHat