Funciones relacionadas con QNames: local-name-from-QName
Se aplica a:SQL Server
Devuelve un xs:NCNAME que representa la parte local de QName especificada por $arg. El resultado es una secuencia vacía si $arg es la secuencia vacía.
Sintaxis
fn:local-name-from-QName($arg as xs:QName?) as xs:NCName?
Argumentos
$arg
Es el QName del que se debería extraer el nombre local.
Ejemplos
En este tema se proporcionan ejemplos de XQuery en instancias XML almacenadas en varias columnas de tipo xml de la AdventureWorks2022
base de datos.
En el ejemplo siguiente se usa la función local-name-from-QName() para recuperar los elementos URI del nombre local y del espacio de nombres de un valor de tipo QName. En el ejemplo, se realizan las tareas siguientes:
Crear una colección de esquemas XML.
Crear una tabla con una columna de tipo xml. El tipo xml se escribe utilizando la colección de esquemas XML.
Almacenar una instancia XML de ejemplo en la tabla. Con el método query() del tipo de datos xml, la expresión de consulta se ejecuta para recuperar la parte de nombre local del valor de tipo QName de la instancia.
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
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente las Cuestiones de GitHub como mecanismo de retroalimentación para el contenido y lo sustituiremos por un nuevo sistema de retroalimentación. Para más información, consulta:Enviar y ver comentarios de