XML 문서는 맨 첫 줄에 <xml>태그를 사용하여 XML 문서임을 명시해야 합니다.
이것을 XML 프롤로그(prolog)라고 하며, 이때 사용되는 <xml>태그의 이름은 소문자 xml로만 사용해야 합니다.
XML 프롤로그의 문법은 다음과 같습니다.
<?xml version="XML문서버전" encoding="문자셋" standalone="yes|no"?>
version 속성에는 XML 문서에 사용된 XML의 버전을 명시합니다.
encoding 속성에는 XML 문서의 문자셋(character set)을 명시하며, 기본값은 UTF-8로 설정됩니다.
standalone 속성은 XML 문서가 외부 DTD(Document Type Definition)와 같은 외부 소스의 데이터에 의존하고 있는 문서인지 아닌지를 XML 파서(parser)에 알려주는 역할을 합니다.
이 속성의 기본값은 no이며, yes로 설정하면 이 문서를 파싱(parsing)할 때 참조해야 할 외부 소스가 없다는 것을 의미합니다.
XML 문법
1. 모든 XML 요소는 종료 태그를 가져야 합니다.
HTML에서는 종료 태그를 생략하거나, 빈 태그를 사용해도 대부분의 경우 문제없이 동작합니다.
하지만 XML에서는 XHTML과 마찬가지로 종료 태그가 생략되면 오류가 발생합니다.
또한, 빈 태그도 반드시 슬래시(/)를 사용한 self-closing를 해야만 오류가 발생하지 않습니다.
1
2
3
4
5
|
HTML : <h1>XML
<hr>
XML : <h1>XML</h1>
<hr />
|
cs |
2. XML 태그는 대소문자를 구분합니다.
HTML에서는 태그 이름에 대소문자를 구분하지 않습니다.
하지만 XML에서는 태그 이름에 대소문자를 구분하므로, 대소문자가 다르면 다른 요소로 인식합니다.
1
2
|
<lecture>이 요소는 lecture 요소입니다.</lecture>
<Lecture>이 요소는 Lecture 요소입니다.</Lecture>
|
cs |
3. XML에서는 시작 태그와 종료 태그가 모두 대소문자까지 같아야 합니다.
XML에서는 태그 이름에 대소문자를 구분하므로, 시작 태그와 종료 태그의 대소문자가 모두 같아야 합니다.
1
2
|
<lecture>이 요소는 lecture 요소입니다.</lecture>
<Lecture>이 구문은 오류를 발생합니다.</lecture>
|
cs |
4. XML 태그의 여닫는 순서는 반드시 지켜져야 합니다.
여닫는 순서가 지켜진다는 것은 먼저 열린 태그는 그 안의 모든 태그가 닫힌 후에야 닫힐 수 있다는 뜻입니다.
1
2
|
<p><strong>이 구문은 오류를 발생합니다.</p></strong>
<p><strong>이 구문이 정확한 순서입니다.</strong></p>
|
cs |
5. XML에서 속성값은 반드시 따옴표로 감싸야 합니다.
HTML에서는 속성값을 따옴표로 감싸지 않아도 큰 문제 없이 동작합니다.
하지만 XML에서는 속성값을 따옴표로 감싸지 않으면 오류가 발생합니다.
1
2
|
<student name=홍길동> // 오류가 발생함. 실제로 //는
<student name="이순신"> // 정상적으로 동작함.
|
cs |
6. XML에서는 띄어쓰기를 인식합니다.
HTML에서는 띄어쓰기를 따로 인식하지 않습니다.
하지만 XML에서는 여러 번의 띄어쓰기를 그대로 인식합니다.
1
2
3
|
코드 : <p>띄 어 쓰 기</p>
HTML : 띄어쓰기
XML : 띄 어 쓰 기
|
cs |
'IT기술 > xml' 카테고리의 다른 글
XML 문서 구조, XML 요소 (0) | 2023.03.06 |
---|---|
XML 주석(comment) (0) | 2023.03.06 |
XML 엔티티(Entity), 특수문자 (0) | 2023.03.06 |
XML구조, tree형태의 계층 구조 (0) | 2023.03.06 |
xml 이란? (0) | 2023.03.06 |