2011. 4. 9. 00:49ㆍ카테고리 없음
@ XML의 구성요소
<?xml version="1.0"?>
<html>
<head>
XML Developer
</head>
<body>
<img src="xml.gif"/>
<a href="http://www.word.pe.kr">Hello World</a>
</body>
</html>
1. 엘리먼트 (element)
- <head>..</head>, <body>..</body>, <a>..</a>를 엘리먼트라 한다. HTML에서는 닫는 태그를 빼먹어도 별 문제가 안됬지만, XML에서는 이러한 태그가 빠진다면 에러로 인식하게 된다. 반드시 모든 엘리먼트는 쌍으로 이루어져야 한다.
- <br>,<img>와 같이 혼자서 존재할 수 있는 엘리먼트들은 엘리먼트 내에 내용을 포함하지 않은 것으로 빈 엘리먼트 (Empty element)라고 한다. 이러한 빈 엘리먼트의 표기법은 <br></br>또는 <br/>와 같은 두가지 형태로 표현 가능하다. 일반적으로 후자의 방식을 많이 사용한다.
- 시작태그와 끝태그의 엘리먼트 이름이 같아야 한다.
2. 속성 (Attribute)
- 위의 예에서 <img>태그를 살펴보면, <img>태그는 그림을 나타내고 그림의 소스는 xml.gif라는 것을 알수 있다. HTML에서 처럼 이와 같은 것을 속성이라 부른다. 엘리먼트는 속성을 포함할 수가 있는 것이다.
- 속성은 문서를 간결하고 해석하기 쉽도록 만들어 준다.
- XML에서 속성값은 반드시 자신으로 둘러 쌓여 있어야 한다. ex) <img src='xml.gif/>
3. 처리명령 (Processing Instruction)
- <?와 ?>사이에 표현되고 특정 응용 프로그램에 대해 처리할 정보나 명령을 가리키는 역할을 한다.
- 대표적으로 XSL을 선언하는 부분을 예로 들수 있다. ex) <?xml:stylesheet type="text/xsl" href="메모.xsl"?>
- 위와 같이 적용되면 XML의 스타일쉬트를 지정하고 타입은 text/xsl이며 소스는 메모.xsl에 있다라고 해석할 수 있다. 이렇게 해석할 수 있도록 제공하는 것을 처리명령이라 한다.
- <?xml version="1.0"?>와 같은 것도 처리명령이라 할 수 있다. 여기서는 XML 버전 1.0을 사용한다 라고 가리키고 있다. 그런데 XML에서는 이와 같은 것을 특별히 XML 선언이라 부른다. 모든 XML 문서의 시작은 XML 선언으로 시작 해야한다.
4. 엔티티 (Entity)
- <>&과 같은 것들을 HTML에서 여러번 봤을 것이다. 이러한 것을 엔티티라 한다. 엔티티의 가장 일적적인 형태는 문자열을 특정 문자열로 대체하는 것이라 할 수 있따.
- 예를 들어 DTD문서에 다음과 같이 선언되어 있다면
<!ENTITY xml "eXtensible Markup Language">
이것을 XML 문서 내에서 사용할 때는 &xml;과 같이 사용한다. 그럼 XML 프로세서는 &xml; 이 부분을 위의 해당 문자열로 변환하여 사용하게 된다.
- 또한 엔티티는 이미지와 같은 binary 데이터난 비 ASCll 문자를 대체하기 위해서도 사용된다. 이러한 엔티티를 DTD에서도 사용할 수 있는데 그러한 것을 특별히 파라미터 엔티티라 하기도 한다.
5. 주석 (Comment)
- 주석은 <!-- 와 --> 사이에 정의 된다. 문서 자체를 가지지 않고 프로세서를 문서를 해석할 때도 건너뛰게 된다.
6. CDATA 섹션 (CDATA section)
- 모든 문자를 마크업이나 태그로 인식하지 않고 일반 문자로 인식하도록 할 수 있는 표기법이다.
- 만약 <greeting>Hello</greeting>를 문자열로 사용하고 싶다면
<![CDATA[<greeting>Hello</greeting>]]> 이렇게 하면 모두 문자열로 인식하게 된다.