Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Returnerar ett xs:NCNAME som representerar den lokala delen av QName som anges av $arg. Resultatet är en tom sekvens om $arg är den tomma sekvensen.
Syntax
fn:local-name-from-QName($arg as xs:QName?) as xs:NCName?
Argument
$arg
Är det QName som det lokala namnet ska extraheras från.
Exempel
Det här avsnittet innehåller XQuery-exempel mot XML-instanser som lagras i olika XML- typkolumner i AdventureWorks2022-databasen.
I följande exempel används funktionen local-name-from-QName() för att hämta det lokala namnet och namnområdets URI-delar från ett QName-typvärde. Exemplet utför följande:
Skapar en XML-schemasamling.
Skapar en tabell med en xml-typkolumn. Xml-typen skrivs med xml-schemasamlingen.
Lagrar en XML-exempelinstans i tabellen. Med hjälp av query()-metoden för xml-datatypen körs frågeuttrycket för att hämta den lokala namndelen av QName-typvärdet från instansen.
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