Я пытаюсь использовать предикат xpath для извлечения части проанализированного XML-файла, но продолжаю получать синтаксическую ошибку: оператор ожидает специальных символов (например, «/» и «@») запроса xpath. КОГДА я заключаю запрос в одинарные кавычки, он терпит неудачу.
?- load_xml_file( 'books.xml', DOM ).
DOM = [element(book, [genre=romance], ['\n Gone With The Wind\n']), element(book, [genre=thriller], ['\n The Shining\n'])].
?- load_xml_file( 'books.xml', DOM ), xpath(DOM, //book(@genre=thriller), Book).
ERROR: Syntax error: Operator expected
ERROR: load_xml_file( 'books.xml', DOM ), xpath(DOM, //
ERROR: ** here **
ERROR: book(@genre=thriller), Book) .
?- load_xml_file( 'books.xml', DOM ), xpath(DOM, '//book(@genre=thriller)', Book).
false.
Содержимое books.xml:
<?xml version="1.0"?>
<book genre="romance">
Gone With The Wind
</book>
<book genre="thriller">
The Shining
</book>