Funzioni correlate a elementi QName - local-name-from-QName
Si applica a: SQL Server
Restituisce un valore xs:NCNAME che rappresenta la parte locale di QName specificata da $arg. Il risultato è una sequenza vuota se $arg è la sequenza vuota.
Sintassi
fn:local-name-from-QName($arg as xs:QName?) as xs:NCName?
Argomenti
$arg
QName da cui deve essere estratto il nome locale.
Esempi
In questo argomento vengono forniti esempi di XQuery su istanze XML archiviate in varie colonne di tipo xml nel AdventureWorks2022
database.
Nell'esempio seguente viene usata la funzione local-name-from-QName() per recuperare il nome locale e le parti URI dello spazio dei nomi da un valore di tipo QName. Nell'esempio vengono eseguite le operazioni seguenti:
Viene creata una raccolta di XML Schema.
Viene creata una tabella con una colonna di tipo XML. Il tipo XML viene tipizzato tramite la raccolta di XML Schema.
Viene archiviata un'istanza XML di esempio nella tabella. Usando il metodo query() del tipo di dati xml, l'espressione di query viene eseguita per recuperare la parte del nome locale del valore del tipo QName dall'istanza.
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