local-name-from-QName (XQuery)

Retorna um xs:NCNAME que representa a parte local de QName especificado por $arg. O resultado será uma seqüência vazia se $arg for a seqüência vazia.

Sintaxe

fn:local-name-from-QName($arg as xs:QName?) as xs:NCName?

Argumentos

  • $arg
    É do QName que o nome local deveria ser extraído.

Exemplos

Este tópico fornece exemplos de XQuery em instâncias XML armazenadas em várias colunas do tipo xml no banco de dados AdventureWorks2008R2. Para obter uma visão geral de cada uma dessas colunas, consulte Representação de tipo de dados xml no banco de dados do AdventureWorks2008R2.

O exemplo a seguir usa a função local-name-from-QName() para recuperar as partes de nome local e namespace URI de um valor de tipo QName. O exemplo executa o seguinte:

  • Cria uma coleção de esquemas XML.

  • Cria uma tabela com uma coluna do tipo xml. O tipo xml é digitado usando a coleção de esquemas XML.

  • Armazena uma instância XML de exemplo na tabela. Usando o método query() do tipo de dados xml, a expressão de consulta é executada para recuperar a parte de nome local do valor de tipo QName da instância.

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

Consulte também

Conceitos