ms:namespace-uri Function
Resolves the prefix part of a qualified name into a namespace URI.
string ms:namespace-uri(string)
Remarks
The ms:namespace-uri()
function assumes that the parameter is a qualified name (for example, q:mine
or coffee:beans
) and attempts to resolve its prefix in the context of the current node. If the argument is not a qualified name or a noncolon name, this function returns an empty string. For nonstring arguments, this function behaves as if a string()
function were applied.
Example
The following example uses an XSLT template rule to select all the elements in books.xml, and to output the elements' data types and the namesapce URI as defined in books.xsd.
XML File (books.xml)
Use the XML file in Using XPath Extension Functions for XSD Support.
XSD File (books.xsd)
Use the XSD file in Using XPath Extension Functions for XSD Support.
HTML File (books.html)
The HTML file is the same as that listed in the ms:type-namespace-uri([node-set]) Function topic.
XSLT File (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>
Output
(ms:) urn:books:catalog
(std:) urn:books:catalog
(name():) x:catalog
The first line of the output is the result returned by the ms:namespace-uri(string)
plus ms:local-name(string)
. The second line is the results from the standard XPath function, namespace-uri(nodeset)
, local-name(nodeset
). The third line is the result from the standard XPath function, name(nodeset)
.