확장 가능한 마크업 언어 표준 - 그 이름 XML [1]

Xml 2009. 8. 13. 09:30 posted by 무명시인
http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=66&MAEULNO=25&no=179&page=2

1.  

 

   확장 가능한 마크업 언어는 SGML의 부분 집합으로 표준에서 자세히 기술한다. XML의 목적은 일반적인 SGML을 지금의 HTML처럼 웹상에서 보내고, 받고, 처리할 있도록 하는 것이다. XML은 SGML과 HTML 양쪽 모두와의 상호운용과 구현이 용이하도록 설계되었다.

 

1.1 기본 문서

 

IETF RFC-XML "Extensible Markup Language"

 

1.2 문서의 상태

 

   표준은 현재 가장 널리 쓰이는 국제 텍스트 처리 표준(SGML, ISO 8879)을 웹에서 사용하기 위해 간편하게 만든 문법에 관한 명세이다. 문서는 W3C 산하 XML 분과 활동의 노력으로 작성된 문서를 참고하여 작성된 확장 가능한 마크업 언어 표준(안) 이다.  문서는 아무런 제약 없이 배포 가능하다.

 

1.3 요약

 

   XML은 'XML 문서'라 불리는 데이터 객체들의 집합을 설명하고 부분적으로 XML 문서을 처리하는 컴퓨터 프로그램들의 동작에 대해 기술한다. XML은 SGML의 응용 프로파일(profile) 또는 제한된 형식이다. 구조적으로 XML 문서는 SGML 문서의 특징을 따른다.

   XML 문서는 파싱된 혹은 파싱되지 않은 데이터를 포함하는 엔티티라는 저장 단위로 구성된다. 파싱된 데이터는 문자들로 이루어지는데 문자들의 일부는 데이터를 구성하고 일부는 마크업을 구성한다. 마크업은 문서의 배치적 논리적 구조에 관한 기술을 부호화한다. XML은 배치적 논리적 구조에 제약을 가하는 기법을 제공한다.

   XML 처리기라 불리는 소프트웨어 모듈은 XML 문서들을 읽고 이들의 내용과 구조에 접근하는데 사용한다. XML 처리기는 응용이라 불리는 또다른 모듈을 대신해 작업하는 것으로 간주된다. 명세는 XML 처리기가 갖추어야 기능들을 기술하고 있는데 , XML 처리기는 XML 데이터를 읽을 있어야 하며 정보를 응용에 제공할 있어야 한다.

 

1.4 개발 배경과 목적

 

   XML은 1996년 W3C의 후원으로 형성된 XML 작업 그룹에 의해 개발되었다. 이에 문서는 이를 기본으로 하여 확장 가능한 마크업 언어 표준(안)을 개발하였다.

 

   XML의 설계 목적은 다음과 같다.

 

     1. XML은 인터넷상에서 쉽게 사용될 있어야 한다.

     2. XML은 다양한 응용들을 지원해야 한다.

     3. XML은 SGML과 호환성이 있어야 한다.

     4. XML 문서를 처리하는 프로그램을 작성하기 쉬워야 한다.

     5. XML에서 선택 가능한 특성은 없는 것이 좋으며, 있어도 극히 적은 수로 유지

       하도록 한다.

     6. XML 문서들은 사람이 인식할 있어야 하며 합리적으로 명확해야 한다.

     7. XML 설계는 빨리 준비되어져야 한다.

     8. XML의 설계는 형식에 맞아야 하고 간결하여야 한다.

     9. XML 문서는 만들기 쉬워야 한다.

    10. XML 마크업의 간결성은 최소한의 중요성이다.

 

   명세는 관련 표준들(문자에 관련된 표준인 Unicode와 ISO/IEC 10646, 언어 식별 태그를 위한 인터넷(Internet) RFC 1766, 언어명 코드를 위한 표준 ISO 639, 국가명 코드를 위한 ISO 3166)과 함께 확장 가능한 마크업 언어 버전 1.0을 이해하고 XML을 처리할 컴퓨터 프로그램을 설계하는데 필요한 정보들을 제공한다.

 

1.5 용어 정의

 

   명세의 본문에는 XML 문서를 기술하는데 사용하는 용어들을 정의한다. 아래에 열거한 용어들은 이러한 정의를 내리고 XML 처리기의 기능을 기술하는데 쓰인다.

 

해도 좋다(may)

    적합한 문서와 XML 처리기가 허용되지만 기술된 대로 동작하지 않아도 좋다.

 

해야 한다(must)

   적합한 문서와 XML 처리기가 기술된 것처럼 동작하여야 하고, 그렇지 않으면 오류이다.

 

오류(error)

   명세에 있는 규칙들에 위반되는 것으로 결과는 정의되지 않는다. 적절한 소프트웨어가 오류를 발견하여 알려주고 이를 복구할 수도 있다.

 

치명적 오류(fatal error)

   적절한 XML 처리기가 반드시 발견하여 응용에 보고하여야 오류이다. 치명적 오류가 발생하면 처리기는 이상의 오류가 있는지 탐색을 계속해 응용에 알려 준다. 오류를 수정하기 위해 처리기는 응용에 접근할 있는, 문자 데이터와 마크업이 뒤섞인 문서로부터 처리되지 않은 데이터를 만들 수도 있다. 치명적 오류가 발견되면 처리기는 정상적인 처리를 멈추어야 된다. 예를 들어 처리기는 정상적인 방법으로 응용에 문서의 논리적 구조에 관한 문자 데이터와 정보를 계속 보내지 말아야 된다.

 

사용자 선택(at user option)

   적절한 소프트웨어는 기술된 대로 동작을 해도 좋거나 동작해야 한다(문장내 실행 방법을 지정한 동작에 따라서), 만약 그렇다면, 사용자가 설명된 동작을 선택하거나, 거절 방법을 제공하여야 한다.

 

유효성 제약(validity constraint)

   유효한 XML 문서에 적용되는 규칙. 유효성 제약에 대한 위반은 오류이고, 사용자의 선택 시에 이들은 유효한 XML 처리기에 의해 반드시 보고되어야 한다.

 

좋은-형식 제약(well-formedness constraint)

   모든 좋은-형식 XML 문서에 적용되는 규칙. 좋은-형식 제약의 위반은 치명적 오류이다.

 

정합(match)

   (문자열 또는 명칭에 관하여) 비교되는 개의 문자열이나 명칭은 반드시 같아야 한다. ISO/IEC 10646로 표현 가능한 문자들(예를 들면 미리 만들어지거나 기본+구별부호 형식의 문자들)은 양쪽의 문자열에서 동일하게 표현되었을 경우에만 정합된다. 사용자 선택에서 처리기는 이러한 문자들을 어떤 정규화 형식으로 일반화 있다. 어떤 경우에도 폴딩(folding)은 이루어지지 않는다. (문법에서 문자열과 규칙에 관하여) 문자열이 어떤 문법적으로 올바른 제품에 의해 만들어진 언어에 속한다면 문법과 정합된다. (내용과 내용 모델에 관하여) 요소는 "유효 요소"의 제약에 기술된 형식에 부합하면 이들 선언과 정합된다.

 

호환성에 대하여(for compatibility)

   오로지 XML이 SGML과 호환성이 있도록 하기 위하여 포함된 XML의 특성.

 

상호운용성에 대하여(for interoperability)

XML 문서들이 SGML 처리기들(ISO 8879에 WebSGML 적응 부록의 포함이전)의 현재 설치된 기본에 의해 처리될 있는 기회를 높이기 위해 포함된 구속력이 없는 추천사양.