Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: SQL Server
Gibt einen Wert vom Datentyp "xs:NCNAME" zurück, der den lokalen Teil von QName darstellt, der durch $arg angegeben wird. Das Ergebnis ist eine leere Sequenz, wenn $arg die leere Sequenz ist.
Syntax
fn:local-name-from-QName($arg as xs:QName?) as xs:NCName?
Argumente
$arg
Der QName, aus dem der lokale Name extrahiert werden soll.
Beispiele
Dieses Thema enthält XQuery-Beispiele für XML-Instanzen, die in verschiedenen XML-Typspalten in der AdventureWorks2022
Datenbank gespeichert sind.
Im folgenden Beispiel wird die Local-name-from-QName() -Funktion verwendet, um die lokalen Namen- und Namespace-URI-Teile aus einem QName-Typwert abzurufen. Das Beispiel führt die folgenden Aktionen aus:
Erstellen einer XML-Schemaauflistung.
Erstellen einer Tabelle mit einer Spalte des Typs xml. Der xml-Typ wird mithilfe der XML-Schemaauflistung typisiert.
Speichern einer XML-Beispielinstanz in der Tabelle. Mithilfe der Query() -Methode des XML-Datentyps wird der Abfrageausdruck ausgeführt, um den lokalen Namensteil des QName-Typwerts aus der Instanz abzurufen.
DROP TABLE T
go
DROP XML SCHEMA COLLECTION SC
go
CREATE XML SCHEMA COLLECTION SC AS '
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="QNameXSD" >
<element name="root" type="QName" nillable="true"/>
</schema>'
go
CREATE TABLE T (xmlCol XML(SC))
go
-- following OK
insert into T values ('<root xmlns="QNameXSD" xmlns:a="https://someURI">a:someLocalName</root>')
go
-- Retrieve the local name.
SELECT xmlCol.query('declare default element namespace "QNameXSD"; local-name-from-QName(/root[1])')
FROM T
-- Result = someLocalName
-- You can retrieve namespace URI part from the QName using the namespace-uri-from-QName() function
SELECT xmlCol.query('declare default element namespace "QNameXSD"; namespace-uri-from-QName(/root[1])')
FROM T
-- Result = https://someURI