XML 기초· ·
예제로 이해하는 XML 문법 기초
다음과 같은 파일을 만들어 catalog1.xml로 저장해 보세요. 그리고 더블클릭해서 실행을 하면... 인터넷 익스플로러가 실행되면서 내용이 보이죠.
1: <?xml version="1.0" encoding="euc-kr" ?>
2: <CATALOG>
3: <CD>
4: <TITLE>사랑하기 때문에</TITLE>
5: <SINGER>유재하</SINGER>
6: <ALBUM>사랑하기 때문에</ALBUM>
7: <WORDS>처음 느낀 그대 눈빛은 혼자만의 오해 였던가요</WORDS>
8: <YEAR>1987</YEAR>
9: </CD>
10: </CATALOG>
소스가 그대로 보이면서도 태그 앞에 - 기호가 보입니다. 이걸 클릭하면 + 로 바뀌면서 내용이 감춰집니다. 어쨌거나 이것은 익스플로러가 XML을 해석해서 보여주기 때문에 그렇습니다.
그런데 HTML에서는 태그는 안보이고 텍스트만 보이는데 왜 XML에서는 태그와 텍스트가 모두 보일까요? XML 문서 자체는 데이터일 뿐입니다. 이 데이터를 CSS, XSL 등을 이용하여 여러 유형으로 표시할 수 있는 것입니다. 나중에 자세하게 다루겠습니다.
그럼 예제 XML 문서를 하나씩 살펴볼까요.
1: <?xml version="1.0" encoding="euc-kr" ?>
XML 선언부입니다. XML 문서를 시작할 때 반드시 이런 형식으로 시작해야 합니다.
그냥 보시면 아시겠지만 xml 1.0 버전을 기준으로 하고, 문자 코드는 한글 코드를 사용한다는 뜻입니다. 만약 encoding="euc-kr"을 빠뜨리면... 한글이 깨져서 보일 겁니다. 궁금하시면 여기를 눌러보세요.
2: <CATALOG>
최상위 요소(element)를 나타냅니다.
XML을 다루다보면 요소(element), 속성(attribute), 엔티티(entity)라는 말을 많이 듣게 됩니다.
요소는 우리가 흔히 태그라고 표시되는 것을 말합니다. 즉 위의 예에서 CATALOG 요소를 실제로 표시할 때 <CATALOG>라는 태그로 표시했습니다.
그리고 속성은 요소에 부가적이 정보를 제공하는 것을 말합니다. 예를 들어 <font color="blue">에서 font는 요소이고 color은 속성이 됩니다.(보다 자세한 것은 이후에 DTD 강좌에서 다루겠습니다.)
이미 HTML을 통해 아시겠지만 모든 요소는 반드시 마침 태그가 있어야 합니다. 위의 예에서 <CATALOG>로 시작한 것은 </CATALOG>로 끝내줘야 한다는 것입니다.
사실 HTML에서 몇 가지 태그는 마침 태그가 없어도 오류가 나지 않습니다. <P> <IMG> <BR> <HR> 등등... 그러나 XML에서는 반드시! 꼭! 마침 태그를 써야 합니다.
3:<CD>
여기서부터 9행까지는 하위 요소와 그에 해당되는 데이터입니다.
CATALOG라는 최상위 요소에 TITLE, SINGER, ALBUM, WORDS, YEAR 라는 하위 요소가 포함되어 있고, 각각의 요소에 해당되는 데이터를 표시한 것입니다.
그럼 XML 문법 중에서 꼭 알아야할 것만 간략하게 정리하겠습니다.
아직은 쓸만한 예제를 만들어 보지 않아 XML의 효용에 대해 느끼기가 힘들 것입니다.
이 강좌에서 심도깊은 것을 다루지는 않지만, XML의 전반적인 것을 다루려하다 보니 아직 갈길이 멉니다. 최대한 빨리 진행할 수 있도록 하겠습니다.
이상, 나날이 쑥쑥 잘 크고 있는 예쁜 딸 - 동주 아빠 손병목이었습니다.

1: <?xml version="1.0" encoding="euc-kr" ?>2: <CATALOG>
3: <CD>
4: <TITLE>사랑하기 때문에</TITLE>
5: <SINGER>유재하</SINGER>
6: <ALBUM>사랑하기 때문에</ALBUM>
7: <WORDS>처음 느낀 그대 눈빛은 혼자만의 오해 였던가요</WORDS>
8: <YEAR>1987</YEAR>
9: </CD>
10: </CATALOG>
소스가 그대로 보이면서도 태그 앞에 - 기호가 보입니다. 이걸 클릭하면 + 로 바뀌면서 내용이 감춰집니다. 어쨌거나 이것은 익스플로러가 XML을 해석해서 보여주기 때문에 그렇습니다.
그런데 HTML에서는 태그는 안보이고 텍스트만 보이는데 왜 XML에서는 태그와 텍스트가 모두 보일까요? XML 문서 자체는 데이터일 뿐입니다. 이 데이터를 CSS, XSL 등을 이용하여 여러 유형으로 표시할 수 있는 것입니다. 나중에 자세하게 다루겠습니다.
그럼 예제 XML 문서를 하나씩 살펴볼까요.
1: <?xml version="1.0" encoding="euc-kr" ?>
XML 선언부입니다. XML 문서를 시작할 때 반드시 이런 형식으로 시작해야 합니다.
그냥 보시면 아시겠지만 xml 1.0 버전을 기준으로 하고, 문자 코드는 한글 코드를 사용한다는 뜻입니다. 만약 encoding="euc-kr"을 빠뜨리면... 한글이 깨져서 보일 겁니다. 궁금하시면 여기를 눌러보세요.
2: <CATALOG>
최상위 요소(element)를 나타냅니다.
XML을 다루다보면 요소(element), 속성(attribute), 엔티티(entity)라는 말을 많이 듣게 됩니다.
요소는 우리가 흔히 태그라고 표시되는 것을 말합니다. 즉 위의 예에서 CATALOG 요소를 실제로 표시할 때 <CATALOG>라는 태그로 표시했습니다.
그리고 속성은 요소에 부가적이 정보를 제공하는 것을 말합니다. 예를 들어 <font color="blue">에서 font는 요소이고 color은 속성이 됩니다.(보다 자세한 것은 이후에 DTD 강좌에서 다루겠습니다.)
이미 HTML을 통해 아시겠지만 모든 요소는 반드시 마침 태그가 있어야 합니다. 위의 예에서 <CATALOG>로 시작한 것은 </CATALOG>로 끝내줘야 한다는 것입니다.
사실 HTML에서 몇 가지 태그는 마침 태그가 없어도 오류가 나지 않습니다. <P> <IMG> <BR> <HR> 등등... 그러나 XML에서는 반드시! 꼭! 마침 태그를 써야 합니다.
3:<CD>
여기서부터 9행까지는 하위 요소와 그에 해당되는 데이터입니다.
CATALOG라는 최상위 요소에 TITLE, SINGER, ALBUM, WORDS, YEAR 라는 하위 요소가 포함되어 있고, 각각의 요소에 해당되는 데이터를 표시한 것입니다.
그럼 XML 문법 중에서 꼭 알아야할 것만 간략하게 정리하겠습니다.
- 이미 위에서 언급했지만, 모든 XML 요소는 반드시 마침 태그를 써야 합니다.
위에서 설명했으니 자세한 설명은 생략하구요.
- 태그를 열고 닫을 때, 꼭 중첩 원칙을 지켜야 합니다.
예를 들어, <TITLE><SINGER></SINGER></TITLE>이라고 해야되지, <TITLE><SINGER></TITLE></SINGER>라고 쓰면 안된다는 것입니다.
<LI>XML 태그는 대소문자 구분을 합니다.
HTML 태그는 대소문자 구분이 없지만 XML 태그는 대소문자 구분이 확실합니다.
예를 들어. <TITLE> </Title>이라고 하면 오류가 발생합니다.
- 속성은 반드시 인용 부호(" 또는 ')로 둘러싸야 합니다.
위의 예에서는 속성 표시가 없지만,
예를 들어, <SINGER SEX="FEMAIL">이라고 해야되지 <SINGER SEX=FEMAIL>하면 안된다는 것입니다.
- 마지막으로 모든 요소는 반드시 최상위 요소가 있어야 합니다.
위의 예에서는 CATALOG가 최상위 요소이고 나머지가 하위 요소가 됩니다. 그런데 어느 것이 최상위 요소이고 그에 속하는 하위 요소인지 어떻게 알 수 있을까요? 그건 나중에 다룰 DTD에서 정의해 주도록 되어 있습니다.
아직은 쓸만한 예제를 만들어 보지 않아 XML의 효용에 대해 느끼기가 힘들 것입니다.
이 강좌에서 심도깊은 것을 다루지는 않지만, XML의 전반적인 것을 다루려하다 보니 아직 갈길이 멉니다. 최대한 빨리 진행할 수 있도록 하겠습니다.
이상, 나날이 쑥쑥 잘 크고 있는 예쁜 딸 - 동주 아빠 손병목이었습니다.
