글 수 14
XML은 SGML의 서브 집합이다.
시작 태그, 종료 태그, 엘리먼트, 내용, 논리 구조, 속성, 문서형 정의(DTD), 엘리먼트형 선언, 속성 목록 선언, 문서형 선언은 모두 SGML에서도 있다.
XML 선언과 부호화 선언은 SGML에 있는 처리 명령의 특수형으로 도입되고 있다.
SGML을 사용하는 데는 많은 어려움을 느끼는 사람들이 있다. 한가지 이유는 SGML 이라는 규격이 복잡하기 때문이다.
XML은 SGML을 간략히 하여 설계하고 있다. SGML에 있는 기능내 주용하지 않은 명세중 내장 곤란한 것은 XML에서 크게 줄였다.
XML에서는 인터넷 시대에 맞춰 기능이 추가되고 있다.
이들의 기능은 원래 SGML에는 없다. 이중 한가지가 URL이다.
URL에 의해서 외부 파싱된 엔터티(entity)와 외부 파실되지 않은 엔터티를 참조하고 XML 문서의 일부로서 취급하는 것이 가능하다.
또한 DTD를 URL에 의해서 참조하는 것도 가능하다.
적정 형식의 문서를 인식하는 것도 인터넷을 의식한 것이다.
SGML에는 올바른 문서이외는 인식하지 못한다. DTD가 필수적이 아니므로 WWW 서버 측에서 문서 작성시만 DTD를 사용하고 WWW 클라이언트 측에서는 문서만을 배포하고 DTD는 배포하지 않는 것이 가능하다.
클라이언트 측에 XML 문서를 교환하지 않는 경우에 이와 같은 이용 형태는 일반적이다.

