본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ
IT기술/xml

XML 문법

by 미노드 2023. 3. 6.

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