local-name-from-QName (XQuery)

Restituisce un tipo 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 utilizzo del linguaggio XQuery sulle istanze XML archiviate in diverse colonne di tipo xml nel database AdventureWorks2008R2. Per una panoramica su ognuna di queste colonne, vedere Rappresentazione del tipo di dati XML nel database AdventureWorks2008R2.

Nell'esempio seguente viene utilizzata la funzione local-name-from-QName() per recuperare le parti del nome locale e dell'URI dello spazio dei nomi da un valore di tipo QName. Nell'esempio vengono eseguite le operazioni seguenti:

  • Viene creato un insieme di schemi XML.

  • Viene creata una tabella con una colonna di tipo XML. Il tipo XML viene tipizzato tramite l'insieme di schemi XML.

  • Viene archiviata un'istanza XML di esempio nella tabella. Tramite il metodo query() con tipo di dati XML, viene eseguita l'espressione di query per recuperare la parte del nome locale del valore di 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="http://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 retrive 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 = http://someURI