큐나메
QNameQName 또는 정규화된 이름은 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]
참고 항목
참조
- ^ 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.
- ^ Bray, Tim; Hollander, Dave; Layman, Andrew, eds. (14 January 1999), "Namespaces in XML", W3.org, World Wide Web Consortium, retrieved 2018-06-12
- ^ XML 1.0의 네임스페이스(Second Edition)
- ^ XML 1.0의 네임스페이스(Second Edition)