Функции local-name , namespace-uri и name
Функции local-name, namespace-uri и name
string local-name(node-set?)
string namespace-uri(node-set?)
string name(node-set?)
Функция local-name возвращает локальную часть имени первого в порядке просмотра документа узла множества, переданного ей в качестве аргумента. Эта функция выполняется следующим образом.
? Если аргумент опущен, то значением функции по умолчанию является множество, содержащее единственный контекстный узел. Иными словами, функция возвратит локальную часть расширенного имени контекстного узла (если она существует).
? Если аргументом является пустое множество, функция возвращает пустую строку.
? Если первый в порядке просмотра документа узел переданного множества не имеет расширенного имени, функция возвращает пустую строку.
? В противном случае функция возвращает локальную часть расширенного имени первого в порядке просмотра документа узла переданного множества.
Функция namespace-uri работает совершенно аналогично функции local-name за тем исключением, что возвращает не локальную часть расширенного имени, a URI пространства имен этого узла. Эта функция выполняется следующим образом.
? Если аргумент опущен, его значением по умолчанию является множество, содержащее единственный контекстный узел.
? Если аргументом является пустое множество, функция возвращает пустую строку.
? Если первый в порядке просмотра документа узел переданного множества не имеет расширенного имени, функция возвращает пустую строку.
? Если первый в порядке просмотра документа узел переданного множества не принадлежит никакому пространству имен, функция возвращает пустую строку.
? В противном случае функция возвращает URI пространства имен первого в порядке просмотра документа узла переданного множества.
Функция name возвратит имя вида QName, которое будет соответствовать расширенному имени первого в порядке просмотра документа узла переданного ей множества.
Это имя должно соответствовать расширенному имени узла, то есть должны совпадать локальные части и пространства имен. Вместе с тем, это вовсе не означает, что префиксы также будут совпадать. Например, если в элементе определены несколько префиксов для одного пространства, функция name может использовать любой из них.
Пример
Для следующего элемента
<a:body
xmlns:a="http://www.a.com"
xmlns:b="http://www.a.com"
xmlns:c="http://www.a.com"/>
функция name может вернуть a:body, b:body или c:body.
Большинство процессоров все же возвращает префикс, с которым узел был объявлен.
Так же как local-name и namespace-uri, функция name имеет следующие особенности использования.
? Если аргумент опущен, то его значением по умолчанию является множество, содержащее единственный контекстный узел.
? Если аргументом является пустое множество, то функция возвращает пустую строку.
? Если первый в порядке просмотра документа узел переданного множества не имеет расширенного имени, то функция возвращает пустую строку.
? В противном случае функция возвращает имя вида QName, соответствующее расширенному имени первого в порядке просмотра документа узла переданного множества.
Пример
Мы можем видоизменить преобразование, приведенное в примере к функциям last и position (листинг 6.7), чтобы генерируемые элементы содержали информацию об имени, пространстве имен и локальной части имени элементов.
Листинг 6.10. Входящий документ
<a:a
xmlns:a="http://www.a.com"
xmlns:b="http://www.b.com">
<b:b>
<c/>
</b:b>
</a:a>
Листинг 6.11. Преобразование
<xsl:stylesheet
version="1.0"
xmlns:xsl="http: //www.w3.org/1999/XSL/Transform"
xmlns:a="http://www.a.com"
xmlns:b="http://www.b.com">
<xsl:output indent="yes"/>
<xsl:template match="*">
<element
name="{name()}"
namespace-uri="{namespace-uri()}"
local-name="{local-name()}">
<xsl:apply-templates/>
</element>
</xsl:template>
</xsl:stylesheet>
Листинг 6.12. Выходящий документ
<element
xmlns:a="http://www.a.com"
xmlns:b="http://www.b.com"
name="a:a"
namespace-uri="http://www.a.com"
local-name="a">
<element name="b:b"
namespace-uri="http://www.b.com"
local-name="b">
<element name="c"
namespace-uri=""
local-name="c"/>
</element>
</element>
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Элемент <xsl:namespace>: создание объявлений пространств имен
Элемент <xsl:namespace>: создание объявлений пространств имен В XSLT 2.0 включен еще один новый элемент: <xsl:namespace>, позволяющий добавлять в результирующий документ объявления пространств имен. Однако на текущий момент больше об этом элементе ничего не известно, так что я не
Применение оси namespace
Применение оси namespace Ось namespace содержит узлы пространств имен контекстного узла. Заметьте, что эта ось пуста, если контекстным узлом не является элемент. У элемента присутствует узел пространства имен для:• каждого атрибута элемента, чье имя начинается с «xmlns:»;• каждого
local-name()
local-name() Функция local-name возвращает локальное (неполное) имя узла. Функция применяется следующим образом:string local-name(node-set?)В функцию передается набор узлов с единственным узлом, и функция возвращает локальное имя этого узла. (Если в наборе узлов больше, чем один узел, берется
namespace-uri()
namespace-uri() Функция namespace-uri возвращает строку, содержащую URI пространства имен в расширенном имени узла. Как правило, это URI в объявлении пространства имен, установленное при помощи атрибутов xmlns или xmlns:prefix. Функция применяется следующим образом (заметьте, что эту функцию
Элемент <xsl:namespace-alias>: генерация таблиц стилей
Элемент <xsl:namespace-alias>: генерация таблиц стилей Одна из основных задач XSLT состоит в преобразовании одних таблиц стилей в другие, хотя на первый взгляд это может быть неочевидно. Например, вам может потребоваться обработать длинные правила, которые нужно настроить
16.5.1. Функции
16.5.1. Функции Интерфейс termios определяет несколько функций. Все они объявлены в <termios.h>. Четыре из них являются обслуживающими функциями для переносимого манипулирования структурой struct termios; остальные представляют собой системные вызовы. Функции, начинающиеся с cf,
Зачем нужно no–local–pass
Зачем нужно no–local–pass Этот параметр при конфигурировании юнита был сделан для того, чтобы предотвратить ненужную маркировку пакета как «локального», если по замыслу он таковым не является. Рассмотрим случай, когда у вас есть некая локальная сеть с непрерывным диапазоном
C:Documents and Settings(имя пользователя)Local SettingsApplication Data MicrosoftCD Burning
C:Documents and Settings(имя пользователя)Local SettingsApplication Data MicrosoftCD Burning В папке C:Documents and Settings(имя пользователя)Local SettingsApplication Data MicrosoftCD Burning Windows создает файл образа будущего
Свойства Namespace и Description
Свойства Namespace и Description При запуске этого проекта вы обнаружите, что теперь автоматически сгенерированная страница тестирования не отображает сообщение с предложением заменить http://tempuri.org. Более того, если вы щелкнете на ссылке Service Description, чтобы просмотреть содержимое
4.5.3. Функции, которые создают новые конфигурации из существующих 4.5.3.1. Функции геометрии, которые производят новые конфигурации
4.5.3. Функции, которые создают новые конфигурации из существующих 4.5.3.1. Функции геометрии, которые производят новые конфигурации Раздел "4.5.2. Функции Geometry" обсуждает несколько функций, которые создают новые конфигурации из
Функции
Функции Excel – серьезная программа для вычислений, одним из главных достоинств которой является множество встроенных функций. Это обширная тема, достойная если не книги, то главы в многотомном руководстве. Рассмотрим ее кратко – ровно настолько, чтобы вы могли далее
Функции
Функции Функции значительно расширяют возможности выражений. Они принимают на вход несколько аргументов и возвращают некоторый результат, который иногда является продуктом весьма замысловатого вычисления.Функции можно условно разделить на стандартные функции,
Элемент xsl:namespace-alias
Элемент xsl:namespace-alias Синтаксическая конструкция этого элемента выглядит следующим образом:<xsl:namespace-alias stylesheet-prefiх="префикс" | "#default" result-prefix="префикс" | "#default"/>Элемент xsl:namespace-alias назначает пространству имен выходящего документа пространство имен, которое будет подменять
Функции
Функции В табл. П3.1–П3.5 представлено описание наиболее часто используемых функций.Таблица П3.1. Булевые функции Функция Описание boolean boolean(object) Явным образом преобразует объект, который ей передается в булевый тип boolean not(boolean) Выполняет логическое