local-name-from-QName(XQuery)
$arg에서 지정된 QName의 로컬 부분을 나타내는 xs:NCNAME을 반환합니다. $arg가 빈 시퀀스이면 결과도 빈 시퀀스가 됩니다.
구문
fn:local-name-from-QName($arg as xs:QName?) as xs:NCName?
인수
- $arg
로컬 이름이 추출되어야 하는 QName입니다.
예
이 항목에서는 AdventureWorks 데이터베이스의 다양한 xml 유형 열에 저장된 XML 인스턴스에 대한 XQuery 예를 보여 줍니다. 이러한 각 열에 대한 개요는 AdventureWorks 데이터베이스의 xml 데이터 형식 표시를 참조하십시오.
다음 예에서는 local-name-from-QName() 함수를 사용하여 QName 유형 값에서 로컬 이름 및 네임스페이스 URI 부분을 검색합니다. 이 예에서는 다음을 수행합니다.
XML 스키마 컬렉션을 만듭니다.
xml 유형 열이 있는 테이블을 만듭니다. xml 유형은 XML 스키마 컬렉션을 사용하여 형식화됩니다.
예제 XML 인스턴스를 테이블에 저장합니다. 쿼리 식은 인스턴스에서 QName 유형 값의 로컬 이름 부분을 검색하도록 xml 데이터 유형의 query() 메서드를 사용하여 실행됩니다.
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