XPath: существует ли способ установить пространство имен по умолчанию для запросов?

Проверьте PhoneGap в http://www.phonegap.com , они утверждают, что он позволяет Вам встраивать JavaScript, HTML и CSS в собственное приложение для iPhone.

12
задан Rob 13 November 2009 в 18:08
поделиться

2 ответа

К сожалению, нет. Несколько лет назад были разговоры об определении пространства имен по умолчанию для JxPath , но беглый взгляд на последние документы не показывает, что что-то произошло. Тем не менее, вы можете потратить больше времени на просмотр документации.

Одна вещь, которую вы могли бы сделать, если вас действительно не интересуют пространства имен, - это проанализировать документ без них. Просто опустите текущий вызов DocumentBuilderFactory.setNamespaceAware () .

Также обратите внимание, что вашим префиксом может быть что угодно; он не обязательно должен соответствовать префиксу в документе экземпляра. Таким образом, вы можете использовать h вместо html и минимизировать визуальный беспорядок в префиксе.

10
ответ дан 2 December 2019 в 20:18
поделиться

Я на самом деле не пробовал это, но согласно документации NamespaceContext, контекст пространства имен с префиксом "" (строка emtpy) считается пространством имен по умолчанию.


Я немного поспешил с этим. Оценщик XPath не вызывает NamespaceContext для разрешения префикса "", если префикс вообще не используется в выражении XPath "/ html / head / title / text ()". Теперь я перейду к деталям XML, в которых я не уверен на 100%, но использование выражения типа «/: html /: head /: title / text ()» работает с Sun JDK 1.6.0_16 и запрашивается NamespaceContext для разрешения пустого префикса (""). Это действительно правильное и ожидаемое поведение или ошибка в Xalan?

4
ответ дан 2 December 2019 в 20:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: