XML 스키마(XML Schema)는 [[XML]] 문서에 허용되는 요소, 속성, 자료형과 그 관계를 정하는 규칙이다. W3C의 XSD(XML Schema Definition Language)는 이를 기술하는 스키마 언어다. ([W3C XSD 1.1](https://www.w3.org/TR/xmlschema11-1/)) - 태그가 올바르게 닫힌 문서도 요구된 제목 요소가 빠지거나 날짜 형식이 틀릴 수 있다. XML 문법 검사와 스키마에 따른 [[유효성 검사]]는 서로 다른 단계다. ([스키마 검증](https://www.w3.org/TR/xmlschema11-1/)) - 요소가 나올 순서와 최소, 최대 등장 횟수를 지정할 수 있다. 예컨대 저자는 여러 명 허용하고 발행일은 한 번만 받는 목록을 만들 수 있다. ([요소와 콘텐츠 모델](https://www.w3.org/TR/xmlschema11-1/)) - 같은 이름의 요소라도 네임스페이스가 다르면 구분할 수 있다. 여러 기관의 메타데이터를 합칠 때 이름만 보고 같은 필드로 처리하지 않는다. ([대상 네임스페이스](https://www.w3.org/TR/xmlschema11-1/)) ## 기타 등등 - XSD 문서 자체도 XML로 작성한다. [출처](https://www.w3.org/TR/xmlschema11-1/) - XSD 1.1의 assertion은 XPath 식으로 관계를 검사한다. 최솟값이 최댓값보다 크지 않아야 한다는 조건도 표현할 수 있다. [출처](https://www.w3.org/TR/xmlschema11-1/) #XML #메타데이터 #표준