Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   XPath: что означает ось «namespace»? (https://javascript.ru/forum/server/70027-xpath-chto-oznachaet-os-namespace.html)

snovapavel 04.08.2017 18:41

XPath: что означает ось «namespace»?
 
Добрый день!

Поясните, пожалуйста, что означает ось «namespace»?

Официальная документация, определяет её как: Выбирает все узлы пространства имен текущего узла.

Поясните, пожалуйста, что это значит и приведите какой-нибудь пример.

Спасибо!

laimas 04.08.2017 19:06

Цитата:

Сообщение от snovapavel
Поясните, пожалуйста, что это значит и приведите какой-нибудь пример.

Возвращает множество имеющее пространство имён, а это имеющие атрибут xmlns, то есть возвращает узлы типа:

<entry xmlns="http://www.w3.org/2005/Atom" xmlns:other="http://other.w3.org/other" >

snovapavel 05.08.2017 05:20

То есть, если я вас правильно понял, выражение:

Код:

namespace::entry
найдет все эти узлы:

Код:

<entry xmlns="http://www.w3.org/2005">
<entry xmlns="http://www.w3.org/2006">
<entry xmlns="http://www.w3.org/2007">

и не найдет эти:

Код:

<title xmlns="http://www.w3.org/2001">
<bookstore xmlns="http://www.w3.org/2002">
<note xmlns="http://www.w3.org/2003">

правильно?

laimas 05.08.2017 05:43

Цитата:

Сообщение от snovapavel
правильно?

Не обязательно, для xml это зачастую множество узлов и их элементов этого пространства имен, так как xmlns="http://www.w3.org/2001", к примеру, будет объявлен к корневом узле документа, то есть в документе всего один такой узел.

https://www.artlebedev.ru/technogrette/xslt/xmlns-1/

и прочие ресурсы на русском коих полно, где это поясняется.


Часовой пояс GMT +3, время: 12:17.