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  

Vedi anche

Funzioni correlate a QNames (XQuery)