다음을 통해 공유


WITH XMLNAMESPACES

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance

하나 이상의 XML 네임스페이스를 선언합니다.

Transact-SQL 구문 표기 규칙

구문

  
WITH XMLNAMESPACES ( <XML namespace declaration item>  
[ { , <XML namespace declaration item> }...] )   
  
<XML namespace declaration item> ::=  
<xml_namespace_uri> AS <xml_namespace_prefix>  
| <XML default namespace declaration item>  
<xml_namespace_uri> ::= <character string literal>  
  
<xml_namespace_prefix> ::= <identifier>  
  
<XML default namespace declaration item> ::=  
DEFAULT <xml_namespace_uri>  
  

인수

xml_namespace_uri
선언할 XML 네임스페이스를 식별하는 URI(Uniform Resource Identifier)입니다. xml_namespace_uri SQL 문자열입니다.

xml_namespace_prefix
xml_namespace_uri에 지정된 네임스페이스 URI 값과 매핑하여 연결할 접두어를 지정합니다. xml_namespace_prefix는 SQL Server 식별자이어야 합니다.

설명

공통 테이블 식이 포함된 문에 WITH XMLNAMESPACES 절을 사용하는 경우 문에서 WITH XMLNAMESPACES 절이 공통 테이블 식 앞에 와야 합니다.

다음은 WITH XMLNAMESPACES 절을 사용할 때 적용되는 일반 구문 규칙입니다.

  • 각 XML 네임스페이스 선언은 적어도 하나의 XML 기본 네임스페이스 선언 항목을 포함해야 합니다.

  • 사용된 각 XML 네임스페이스 접두어는 이름에 콜론(:)이 포함되지 않은 NCName(콜론 없는 이름)이어야 합니다.

  • 네임스페이스 접두어를 두 번 정의할 수 없습니다.

  • XML 네임스페이스 접두어와 URI는 대소문자를 구분합니다.

  • XML 네임스페이스 접두어 xmlns는 선언할 수 없습니다.

  • XML 네임스페이스 접두어 xml은 네임스페이스 URI 'http://www.w3.org/XML/1998/namespace' 이외의 네임스페이스로 무시할 수 없으며 이 URI에는 다른 접두어를 할당할 수 없습니다.

  • XML 네임스페이스 접두어 xsi는 쿼리에서 ELEMENTS XSINIL 지시어를 사용하고 있는 경우 다시 선언할 수 없습니다.

  • xsi 표준 네임스페이스를 사용하기 위해 'http://www.w3.org/2001/XMLSchema-instance '를 선언할 필요는 없습니다. 지정되지 않은 경우 XML/XPATH 프로세서에 의해 암시적으로 추가되며 xpath 식은 xml 문서에서 'http://www.w3.org/2001/XMLSchema-instance ' 스키마가 올바르게 선언되어 있는 한 xsi 접두사를 사용할 수 있습니다.

  • URI 문자열 값은 현재 데이터베이스 데이터 정렬 코드 페이지에 따라 인코딩되며 내부적으로 유니코드로 변환됩니다.

  • XML 네임스페이스 URI는 xs:anyURI에 사용되는 XSD 공백 축소 규칙에 따라 공백이 축소됩니다. 또한 XML 네임스페이스 URI 값에 대해서는 유효화 또는 비유효화가 수행되지 않습니다.

  • XML 네임스페이스 URI는 유효하지 않은 XML 1.0 문자에 대해 검사되며 U+0007 같은 유효하지 않은 문자가 있을 경우 오류가 발생합니다.

  • XML 네임스페이스 URI는 모든 공백이 축소된 후 길이가 0인 문자열이 될 수 없으며 길이가 0일 경우 "유효하지 않은 빈 네임스페이스 URI" 오류가 발생합니다.

  • XMLNAMESPACES 키워드는 WITH 절의 컨텍스트에서 예약됩니다.

예제

예를 들어 WITH XMLNAMESPACES를 사용하여 쿼리에 네임스페이스 추가를 참조하세요.

참고 항목

XQuery 언어 참조(SQL Server)