Name

[2.0] namespace-uri-for-prefix()

Given a namespace prefix and an element, returns the URI associated with that prefix.

Syntax

xs:anyURI? namespace-uri-for-prefix($prefix as xs:string?, 
                                    $element as element())

Inputs

A namespace prefix and an element. If the prefix is an empty string, the URI for the default namespace is returned, assuming a default namespace is in scope.

Output

The URI associated with the namespace prefix for the given element.

Defined in

XQuery 1.0 and XPath 2.0 Functions and Operators section 11.2, “Operators and Functions Related to QNames.”

Example

For an example, we’ll reuse our Shakespearean sonnet:

<?xml version="1.0"?>
<!-- sonnet.xml --> <sonnet type='Shakespearean'> <auth:author xmlns:auth="http://www.authors.com/"> <last-name>Shakespeare</last-name> <first-name>William</first-name> <nationality>British</nationality> <year-of-birth>1564</year-of-birth> <year-of-death>1616</year-of-death> </auth:author> <!-- Is there an official title for this sonnet? They're sometimes named after the first line. --> <title>Sonnet 130</title> <lines> <line>My mistress' eyes are nothing like the sun,</line> <line>Coral is far more red than her lips red.</line> <line>If snow be white, why then her breasts are dun,</line> <line>If hairs be wires, black wires grow on her head.</line> <line>I have seen roses damasked, red and white,</line> <line>But no such roses see I in her cheeks.</line> <line>And in some perfumes is there more delight</line> <line>Than in the breath that from my ...

Get XSLT, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.