Проблемы X-Path Query
Мой XML DTD выглядит следующим образом:
<!DOCTYPE Bookstore [
<!ELEMENT Bookstore (Book | Magazine)*>
<!ELEMENT Book (Title, Authors, Remark?)>
<!ATTLIST Book ISBN CDATA #REQUIRED
Price CDATA #REQUIRED
Edition CDATA #REQUIRED>
<!ELEMENT Magazine (Title)>
<!ATTLIST Magazine Month CDATA #REQUIRED Year CDATA #REQUIRED>
<!ELEMENT Title (#PCDATA)>
<!ELEMENT Authors (Author+)>
<!ELEMENT Remark (#PCDATA)>
<!ELEMENT Author (First_Name, Last_Name)>
<!ELEMENT First_Name (#PCDATA)>
<!ELEMENT Last_Name (#PCDATA)>
]>
Я хочу выполнить следующий запрос:
Title Book whose title is the same as title of a magazine.
Я не могу придумать способ выполнить этот запрос. Любой Пожалуйста, помогите мне с этим, я буду благодарен.
2 ответа
Решение
Вы можете попробовать что-то вроде этого:
//Bookstore/Book/Title[. = //Magazine/Title]
Выше xpath возвращает все <Title>
элементы, которые являются потомками <Book>
и имеет значение, равное по крайней мере одному <Title>
из <Magazine>
,
Вы можете попробовать следующее:
//Bookstore/Book[Title = ../Magazine/Title]/Title