W3C의 XML 표준 권고안은 문법적인 측면에서 두 가지 종류의 XML 문서를 정의하고 있습니다.
1. 문법에 맞는(well-formed) XML 문서
2. 유효한(valid) XML 문서
1. 문법에 맞는(well-formed) XML 문서
문법에 맞는(well-formed) XML 문서란 XML 문서로서 가져야 하는 최소한의 필수 요건을 충족한 XML 문서를 의미합니다.
따라서 이 문서는 XML의 모든 구문을 허용하지만, DTD(document type definition)나 스키마를 사용하지는 않습니다.
문법에 맞는(well-formed) XML 문서가 되기 위한 필수 요건은 다음과 같습니다.
1. 루트(root) 요소를 하나만 가져야 합니다.
2. 모든 XML 요소는 종료 태그를 가져야 합니다.
3. 시작 태그와 종료 태그에 사용된 태그 이름이 대소문자까지 완벽하게 일치해야 합니다.
4. 모든 XML 요소의 여닫는 순서가 반드시 정확하게 지켜져야 합니다.
5. 모든 속성의 속성값이 따옴표로 둘러싸여 있어야 합니다.
위에서 언급한 필수 요건을 만족하지 못하는 XML 문서는 오류를 발생시킵니다.
HTML 문서와는 달리 XML 문서에서는 오류가 발생하면, 해당 응용 프로그램의 모든 동작을 중지시킵니다.
따라서 모든 XML 문서는 반드시 문법에 맞는(well-formed) XML 문서여야만 합니다.
2. 유효한(valid) XML 문서
유효한(valid) XML 문서는 문법에 맞는(well-formed) XML 문서를 좀 더 엄격하게 검증한 문서입니다.
따라서 유효한(valid) XML 문서는 모두 문법에 맞는(well-formed) XML 문서입니다.
거기에 추가하여 DTD(document type definition)를 가지고 있으며, 그에 따라 제대로 검증된 문서를 의미합니다.
XML에서 사용하는 DTD에는 다음과 같이 두 가지 종류가 있습니다.
1. DTD : 일반적인 문서 타입 정의(document type definition)
2. XML 스키마(XSD)
XML 파서(parser)
XML 파서(parser)란 응용 프로그램이 XML 문서를 읽을 수 있도록 인터페이스를 제공해주는 라이브러리(library)나 패키지(package)를 의미합니다.
XML 파서는 XML 문서가 적합한 형식을 갖추고 있는지와 문법상의 오류는 없는지를 검사합니다.
현재 대부분의 주요 웹 브라우저는 모두 XML 파서를 내장하고 있습니다.
위의 그림은 XML 파서가 어떤 방식으로 XML 문서와 동작하는지를 보여줍니다.
XML 파서의 최종 목적은 XML 문서를 응용 프로그램이 읽을 수 있는 코드로 변환하는 것입니다.
현재 많이 사용되고 있는 XML 파서의 종류는 다음과 같습니다.
- MSXML(Microsoft Core XML Services)
- System.Xml.XmlDocument
- Java built-in parser
- Saxon
- Xerces
'IT기술 > xml' 카테고리의 다른 글
XSLT 변환 (0) | 2023.03.07 |
---|---|
XSLT (0) | 2023.03.07 |
XML 네임스페이스(namespace) (0) | 2023.03.06 |
XML 속성 (0) | 2023.03.06 |
XML 문서 구조, XML 요소 (0) | 2023.03.06 |