캐노니컬 XML

캐노니컬 XML(Canonical XML)은 XML 문서 쌍의 동등성을 상대적으로 간단하게 비교할 수 있도록 고안된 XML의 표준 형식이다. 이를 위해 캐노니컬 XML 변환은 문서 간의 의미 없는 차이점을 제거한다. 모든 XML 문서는 캐노니컬 XML로 변환될 수 있다.

예를 들어, XML은 시작 태그 내의 다양한 지점에 공백이 발생하는 것을 허용하고 속성이 임의의 순서로 지정되도록 허용한다. 이러한 차이는 의미를 전달하는 데 거의 사용되지 않으므로 일반적으로 다음 형식은 동일한 것으로 간주된다.

   <p  secure="1">
   <p     secure   = "1"
             class='a'   >

임의의 XML 문서를 캐노니컬 XML로 변환할 때 속성은 규범적인 순서(이름순 알파벳순)와 규범적인 간격 및 인용으로 인코딩된다(단, 모든 네임스페이스 선언은 일반 속성보다 앞에 배치되고 네임스페이스 속성은 접두사가 아닌 네임스페이스를 기준으로 정렬됨). 따라서 위의 두 번째 형식은 첫 번째 형식으로 변환된다.

캐노니컬 XML은 기타 여러 세부 정보를 지정하며 그 중 일부는 다음과 같다.

  • UTF-8 인코딩이 사용된다.
  • 줄 끝은 개행 문자 0x0A를 사용하여 표현된다.
  • 속성 값의 공백은 정규화되었다.
  • 엔터티 참조 및 비특수 문자 참조가 확장된다.
  • CDATA 섹션은 해당 문자 콘텐츠로 대체된다.
  • 빈 요소는 특별한 빈 요소 구문을 사용하지 않고 시작/끝 쌍으로 인코딩된다.
  • 기본 속성은 명시적으로 지정된다.
  • 불필요한 네임스페이스 선언은 삭제된다.

W3C에 따르면 두 개의 XML 문서가 동일한 표준 형식을 갖는 경우 두 문서는 주어진 애플리케이션 컨텍스트 내에서 논리적으로 동일하다(몇 가지 특이한 경우에 대한 제한 제외).

그러나 특별한 상황에서 사용자는 정식 XML과 관련된 일반적인 논리적 동등성 이상의 특별한 의미에 관심을 가질 수 있다. 예를 들어 스테가노그래피 시스템은 공백, 속성 인용 및 순서, 16진수 대 10진수 문자 참조 사용 등을 변경하여 XML 문서의 정보를 숨길 수 있다. 분명히 그러한 파일을 캐노니컬 XML로 변환하면 이러한 특수한 의미가 손실된다. 반면에 대문자와 소문자 사용이 다르거나 고대 철자와 현대 철자를 사용하는 등의 XML 파일은 특정 목적에 대해 동등한 것으로 간주될 수 있다. 이러한 컨텍스트는 캐노니컬 XML의 범위를 벗어난다.

같이 보기

외부 링크

  • W3C Recommendation, Canonical XML Version 1.0, 15 March 2001
  • W3C Recommendation, Exclusive XML Canonicalization Version 1.0, 18 July 2002
  • v
  • t
  • e
제품 및 표준
권고
참고
  • XAdES
  • XHTML+SMIL
  • XUP
작업 중인 초안
  • CCXML
  • CURIE
  • EME
  • InkML
  • MSE
  • RIF
  • SMIL 타임시트
  • sXBL
  • WICD
  • XFDL
  • XFrames
  • XBL
  • XMLHttpRequest
가이드라인
이니셔티브
과거
조직
  • Advisory Committee (AC)
  • 월드 와이드 웹 재단
선출된 그룹
  • Advisory Board (AB)
  • 테크니컬 아키텍처 그룹(TAG)
워킹 그룹
  • CSS
  • HTML
  • 지오로케이션
  • 소셜 웹
  • SVG
  • WHATWG
  • 웹 플랫폼
폐쇄된 그룹
  • 디바이스 디스크립션 (DDWG)
  • WebOnt
소프트웨어
브라우저
  • 라인 모드 (1990-)
  • 아레나 (1993-98)
  • 아고라 (1994-97)
  • 아르고 (1994-97)
  • 어마야 (브라우저/편집기, 1996-2012)
콘퍼런스
  • 국제 월드 와이드 웹 콘퍼런스 (IW3C)
    • 운영 위원회 (IW3C2)
    • 최초의 콘퍼런스 ("WWW1", 1994)