검색
색인
확장성 마크업 스키마 정의 언어, 擴張性--定義言語, XML Schema Definition language, XSD
동의어 : XML 스키마 정의
확장성 마크업 언어(XML) 기반으로 문서 구조와 각 구성 요소의 마크업을 원하는 대로 정의할 수 있어 데이터 검증과 재사용이 용이한 스키마 언어.
기존 XML 문서형 정의(DTD: Document Type Definition) 언어의 단점을 보완한 스키마 언어로 국제 웹 표준화 단체인 월드 와이드 웹 컨소시엄(W3C: World Wide Web Consortium)에서 개발하였다.


기존 XML 문서 구조(structure)를 정의할 때 사용된 XML DTD(XML Document Type Definition)는 XML 문법과 다르기 때문에 DTD 문법에 대한 별도의 지식이 필요하고 텍스트 형태의 데이터 유형(data type)만을 사용해야 한다는 제한이 있다. 또한 예를 들어, 나이 속성값으로 숫자가 들어가야 맞는데 ‘< age > abc < /age >’와 같이 문자열이 잘못 입력된 경우나 ‘< age > 0 < /age >’과 같이 최소 또는 최대 값 범위를 벗어난 경우, 그리고 카드 번호 정보와 같이 정해진 규칙에 맞도록 값을 입력해야 하는 경우 등에 대한 데이터 유효성 검증이 어렵고, 새로운 데이터 타입을 추가로 정의하고 재사용하기도 어려운 단점이 있다. 이러한 단점을 보완하기 위하여 W3C에서 공표한 스키마 언어가 XSD이다.
XSD는 XML 문법을 기반으로 하고 있어서 재사용과 확장이 쉽고, 문자열(string), 정수(integer), 날짜(Date) 유형 등뿐만 아니라 새로운 데이터 유형 정의를 제공한다. 이에 개발자는 원하는 문서 구조와 마크업을 보다 쉽게 정의하고 다양하게 활용할 수 있다.
W3C는 2001년 처음 XSD 1.0 표준을 제정하였다. 이후 여러 오류를 수정한 두 번째 버전 XSD 1.0을 2004년에 공개하였고, XSD 1.1 표준을 2012년 4월에 제정하였다.

XML 스키마: XML 객체의 속성과 요소 간 상호 관계의 추상적 표현