Поддерживает ли XPATH в Python Twisted этот синтаксис: "/message/body[.='test ']"? - PullRequest
0 голосов
/ 06 марта 2012

Я работаю над инструментом тестирования XMPP, используйте Twisted xpath для сопоставления сообщения XMPP.

Предположим, у меня есть строфа сообщения типа:

<message to='xxx' type='chat'><body>test</body></message>

Если я хочу сопоставить этозначение основного текста сообщения «test», тогда для стандартного синтаксиса xpath оно будет:

"/message/body[.='test']"

Но этот синтаксис не поддерживается в витой.

Мой вопрос: есть ли способ решить эту проблему?Или это просто невозможно?

Заранее спасибо.

1 Ответ

0 голосов
/ 07 марта 2012

Поддержка xpath, предоставляемая Twisted Words для XMPP-взаимодействий, очень ограничена.Это далеко от полной реализации xpath.Таким образом, для любых конкретных вопросов о том, поддерживается ли какая-либо функция xpath или нет, вполне возможно, что она не поддерживается.

В идеале, Twisted Words вообще не нужна реализация xpath.Он может быть построен поверх одной из других реализаций xpath, доступных для Python (например, представленных lxml).Однако никто еще не проделал работу, чтобы определить, как на самом деле этого добиться (учитывая, что Twisted Words также использует собственную реализацию DOM для XMPP).

Пока эта задача не будет выполнена, вы можете получить некоторое представление окакие части xpath поддерживаются, если посмотреть на грамматику в конце twisted/words/xish/xpathparser.g.

Насколько я знаю, никто не изобрел способ объединить Twisted Words DOM с другой библиотекой xpath, так что выВы просто застряли с отсутствующими функциями (если вы знаете о таком изобретении или сами изобрели такое, дайте нам знать! Это может упростить вышеупомянутую задачу:).

...