Функция ms:namespace-uri
Разрешает префиксную часть полного имени в URI-идентификатор пространства имен.
string ms:namespace-uri(string)
Заметки
Функция ms:namespace-uri() предполагает, что параметр является квалифицированным именем (например, q:mine или coffee:beans) и пытается разрешить его префикс в контексте текущего узла. Если аргумент представляет собой неполное имя или имя без двоеточий, функция возвращает пустую строку. Для нестроковых аргументов функция ведет себя так, будто была применена функция string().
Пример
В этом примере используется правило шаблона XSLT для выбора всех элементов в документе books.xml и вывода типов данных этих элементов и URI-идентификатора пространства имени согласно их определениям в books.xsd.
XML-файл (books.xml)
Используется XML-файл из раздела Использование функций расширения XPath для поддержки XSD.
XSD-файл (books.xsd)
Используется XSD-файл из раздела Использование функций расширения XPath для поддержки XSD.
HTML-файл (books.html)
HTML-файл такой же, как и в разделе Функция ms:type-namespace-uri([node-set]).
XSLT-файл (books.xsl)
<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:ms="urn:schemas-microsoft-com:xslt"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="text()"/>
<xsl:output method="html"
omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="*">
<xsl:if test="ms:type-namespace-uri() != ''">
<DIV>
(ms:)
<xsl:value-of select="ms:namespace-uri(name())"/>:
<xsl:value-of select="ms:local-name(name())"/>
</DIV>
<DIV>
(std:)
<xsl:value-of select="namespace-uri()"/>:
<xsl:value-of select="local-name()"/>
</DIV>
<DIV>
(name():)
<xsl:value-of select="name()"/>
</DIV>
</xsl:if>
<xsl:apply-templates/>
</xsl:template>
</xsl:stylesheet>
Вывод
(ms:) urn:books:catalog
(std:) urn:books:catalog
(name():) x:catalog
Первая строка вывода представляет собой результат, возвращенный функцией ms:namespace-uri(string) плюс ms:local-name(string). Вторая строка - результаты применения стандартной функции XPath, namespace-uri(nodeset), local-name(nodeset). Третья строка - результаты применения стандартной функции XPath name(nodeset).