name()¶
Функция name
возвратит имя вида QName
, которое будет соответствовать расширенному имени первого в порядке просмотра документа узла переданного ей множества.
Синтаксис¶
1 |
|
Описание и примеры¶
Это имя должно соответствовать расширенному имени узла, то есть должны совпадать локальные части и пространства имен. Вместе с тем, это вовсе не означает, что префиксы также будут совпадать. Например, если в элементе определены несколько префиксов для одного пространства, функция name может использовать любой из них.
Пример 1¶
Для следующего элемента
1 2 3 4 5 |
|
функция name
может вернуть a:body
, b:body
или c:body
.
Большинство процессоров все же возвращает префикс, с которым узел был объявлен.
Так же как local-name
и namespace-uri
, функция name
имеет следующие особенности использования.
- Если аргумент опущен, то его значением по умолчанию является множество, содержащее единственный контекстный узел.
- Если аргументом является пустое множество, то функция возвращает пустую строку.
- Если первый в порядке просмотра документа узел переданного множества не имеет расширенного имени, то функция возвращает пустую строку.
- В противном случае функция возвращает имя вида
QName
, соответствующее расширенному имени первого в порядке просмотра документа узла переданного множества.
Пример 2¶
Мы можем видоизменить преобразование, приведенное в примере к функциям last
и position
, чтобы генерируемые элементы содержали информацию об имени, пространстве имен и локальной части имени элементов.
Листинг 6.10. Входящий документ
1 2 3 4 5 |
|
Листинг 6.11. Преобразование
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
Листинг 6.12. Выходящий документ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Ссылки¶
- name() MDN (рус.)