큐나메

QName

QName 또는 정규화된 이름은 XML 문서에 있는 요소, 속성 또는 식별자의 정규화된 이름이다.QNAMe은 XML 네임스페이스URI를 해당 네임스페이스에 있는 요소, 속성 또는 식별자의 로컬 이름과 간결하게 연결한다.[1]이 연결을 위해 QNamee는 로컬 이름을 네임스페이스에 해당하는 접두사로 할당한다.전체적으로 QNamee는 XML 네임스페이스의 URI, 접두사 및 로컬 이름으로 구성된다.

월드 와이드 컨소시엄은 1999년 규격 "Namespaces in XML"[1][2]에서 QNamee 규약을 도입했다.

목적

URI 참조는 길고 요소/속성 이름 지정에 대해 금지된 문자를 포함할 수 있으므로, QName은 URI와 네임스페이스 접두사 사이의 매핑을 만드는 데 사용된다.매핑을 통해 URI의 약어가 가능하므로 XML 문서를 보다 편리하게 작성할 수 있다(아래 예 참조).

형식 정의

QNAMes는 W3C에 의해 공식적으로 다음과 같이 정의된다.[3]

큐나메            ::=   PrefixedName  UnfixedName PrefixedName    ::=   접두사':' 로컬 파트 UnfixedName::=   로컬 파트 접두사            ::=   엔씨나미 로컬 파트::=   엔씨나미 

NCNAme은 다음과 같이 정의된다.

엔씨나미            ::=   이름 -(차르* ':' 차르*)  (* XML 이름, ":"를 뺀 값) 이름            ::=   NameStartChar(네임차르)* NameStartChar    ::=   ":"   [A-Z]   "_"   [a-z]   [#xC0-#xD6]   [#xD8-#xF6]                             [#xF8-#x2FF]   [#xx-#x37D]   [#x37F-#x1FFFF]                              [#x200C-#x200D]   [#x2070-#x218F]   [#x2C00-#x2FEF]                             [#x3001-#xD7FF]   [#xF900-#xFDCF]   [#xFDF0-#xFFFD]                             [#x10000-#XEFF] 네임차르::=   NameStartChar  "-"   "."   [0-9]                             #xB7  [#x0300-#x036F]   [#x203F-#x2040] 차르            ::=   (* 모든 유니코드 문자(대리 블록 FFE 및 FFFF 제외)*)                          #x9  #xA  #xD  [#x20-#xD7FF]                             [#xE000-#xFFFD]   [#x10000-#x10FFFF] 

여기서 접두사는 네임스페이스의 자리 표시자로 사용되고 LocalPart는 정규화된 이름의 로컬 부분으로 사용된다.로컬 부분은 속성 이름 또는 요소 이름일 수 있다.

<?xml 버전="1.0"?> <도사> xmlns:x="https://example.com/ns/foo">   <x:p/> </doc> 

2행에서 접두사 "x"는 URI "http://example.com/ns/foo"과 연관된다고 선언된다.이 접두사는 더 나아가 이 네임스페이스의 약어로 사용될 수 있다.이후 "x:p" 태그를 네임스페이스 참조로 사용하고 "p"를 로컬 부분으로 사용하기 때문에 "x:p" 태그는 유효한 QNamee이다.태그 "doc"도 유효한 QNAMe이지만, 로컬 부분으로만 구성된다.[4]

참고 항목

참조

  1. ^ a b Walsh, Norman, ed. (17 March 2004). "Using Qualified Names (QNames) as Identifiers in XML Content". W3.org. World Wide Web Consortium. Retrieved 2018-06-12.
  2. ^ Bray, Tim; Hollander, Dave; Layman, Andrew, eds. (14 January 1999), "Namespaces in XML", W3.org, World Wide Web Consortium, retrieved 2018-06-12
  3. ^ XML 1.0의 네임스페이스(Second Edition)
  4. ^ XML 1.0의 네임스페이스(Second Edition)