구분 | 상세 |
---|---|
표준성 | W3C에서 표준화를 주도하며, SGML과 HTML의 한계를 극복하기 위하여 만든 표준 인터넷 언어 |
분리성 | 표현과 내용이 완전히 분리, XML 문서는 데이터의 구조와 내용을 기술하고 있으며, 스타일 시트를 이용하여 다양한 방식으로 데이터 표현 |
단순성,호환성 | XML 문서는 텍스트로 되어 있기 때문에 하드웨어나 소프트웨어에 의존하지 않고 읽어 들일 수 있다는 장점을 가지고 있으며, 이러한 특징은 다양한 시스템간에 상호 작용을 중계하는데 XML 을 이용될 수 있게 한다. |
수용성 | HTML과 같이 현재 인터넷에서 가장 많이 사용되는 HTTP 프로토콜을 이용하여 전달 |
확장성 | XML은 확장성 있는 태그를 사용하고 있음으로써, 어떤 분야의 데이터도 정확하게 기술 |
정보검색의 정확성 | XML 문서의 경우 의미가 있는 태그를 사용함으로써 원하는 데이터를 쉽게 찾음 |
XML 문서는 "root" 에서 시작해서 "leaves" 로 뻗어나가는 트리 구조
XML 버전과 문자 인코딩을 정의하는 prolog
<?xml version="1.0" encoding="UTF-8"?>
Name conflict (여러 개의 xml 파일을 사용할 때 각각의 xml 파일에서 정의하고 있는 tag 이름이 겹쳐 충돌하는 문제) 를 해결하기 위해, XML 에서는 Prefix 를 사용할 수 있다.
<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table xmlns:f="http://www.w3schools.com/furniture">
<f:table xmlns:f="http://www.w3schools.com/furniture">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</f:table>
XML 문서의 구조structure 를 정의하기 위한 문서.
<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
DTD 와 유사하게, XML 문서의 구조를 정의하기 위한 문서이지만, 그 자체가 XML syntax 로 쓰여진 xml 문서이다. (XML-based alternative to DTD)
<xs:element name="note"><xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:element>
XML Schema 는 DTD 보다 많은 면에서 파워풀하고, 편리하다. Data type을 지원하며, XML syntax 로 쓰여질 수 있기 때문에, (DTD 처럼) 문서 구조를 정의하기 위한 다른 언어를 배울 필요가 없다.
XHTML, MathML, SVG, XUL, RSS 그리고 RDF 등
데이터 교환이 필요한 모든 분야에 활용