반응형
정의
- eXtensible Markup Language 약자이다.
- W3C에서 개발된, 다른 특수한 목적을 갖는 마크업 언어를 만드는데 사용하도록 권장하는 다목적 마크업 언어이다.
- SGML의 단순화된 부분집합으로, 다른 많은 종류의 데이터를 기술하는 데 사용할 수 있다.
XML vs HTML
xml | html | |
data 포커스 | data 전달 | data 표현 |
태그(tag) 사용 | 미정의 | 정의 |
특징
- 표준성
W3C에서 표준화를 주도하며, SGML과 HTML의 한계를 극복하기 위하여 만든 표준 인터넷 언어. - 분리성
표현과 내용이 완전히 분리, XML 문서는 데이터의 구조와 내용을 기술하고 있으며, 스타일 시트를 이용하여 다양한 방식으로 데이터를 표현. - 단순성, 호환성
XML 문서는 텍스트로 되어 있기 때문에 하드웨어나 소프트웨어에 의존하지 않고 읽어 들일 수 있다는 장점을 가지고 있으며, 이러한 특징은 다양한 시스템간에 상호 작용을 중계하는데 XML을 이용될 수 있게 한다. - 수용성
HTML과 같이 현재 인터넷에서 가장 많이 사용되는 HTTP 프로토콜을 이용하여 전달. - 확장성
XML은 확장성 있는 태그를 사용하고 있음으로써, 어떤 분야의 데이터도 정확하게 기술. - 정보검색의 정확성
XML 문서의 경우 의미가 있는 태그를 사용함으로써 원하는 데이터를 쉽게 찾을 수 있다.
구조
- XML Tree Structure : XML 문서는 "root"에서 시작해서 "leaves"로 뻗어나가는 트리 구조.
- The XML Prolog : XML 버전과 문자 인코딩을 정의하는 Prolog.
<?xml version="1.0" encoding="UTF-8"?>
- XML Namespaces - The xmlns Attribute : Name conflict (여러 개의 xml 파일을 사용할 때 각각의 XML 파일에서 정의하고 있는 tag 이름이 겹쳐 충돌하는 문제)를 해결하기 위해, XML 에서는 Prefix를 사용할 수 있다.
<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Aples</h:td>
<h:td>Bananas</h:td>
</h:tr>
<h:table>
<f:table xmlns:f="http://www.w3schools.com/funiture">
<f:name>African Table<f:name>
<f:width>80</f:width>
<f:length>120</f:length>
<f:table>
Prefix
* namespace URI는 단지 Unique name을 위한 용도일 뿐, parser에 의해 참조되지 않습니다. 하지만 실제로 namespace정보를 담고 있는 웹 페이지 주소를 활용하는 경우도 종종 있습니다.
- DTD(Document Type Definition) : XML 문서의 구조(Structure)를 정의하기 위한 문서입니다.
<!DOCTYPE note
[
<!ELEMENT note (to, from, heading, body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
XML Structure
- XML Schema : DTD와 유사하게, XML 문서의 구조를 정의하기 위한 문서지만, 그 자체가 XML Syntax로 쓰여진 XML 문서입니다.(XML-based alternative to DTD)
<xs:element name="note">
<xs:complexType>
<xs:sequenxe>
<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:sequenxe>
</xs:complexType>
</xs:element>
XML Schema
* XML Schema는 DTD보다 많은 면에서 파워풀하고 편리합니다. Data type을 지원하며, XML Syntax로 쓰여질 수 있기 때문에,(DTD 처럼) 문서 구조를 정의하기 위한 다른 언어를 배울 필요가 없다.
- 확장성 연결 언어
- XLink 방식으로 1대 다, 다 대 1 관계를 통해 마크업 언어를 링크시킬 수 있습니다. 또한 Xpointer를 이용해 문서의 특정 부분만 링크시킬 수 있다. - Parser
-XML 문법을 읽고 정보를 추출하는 기능을 가진 프로그램.
(프로그램이 직접 XML 문서에서 정보 데이터를 추출하는 것이 아니라 XML 문서에서의 정보 획득은 파서(Parser)를 통해서 이루어집니다.)
-파서는 프로그램에 대해 전혀 알 필요가 없으며 그 프로그램에서 사용하는 XML 문서 형식에 대해서도 알 필요가 없습니다.
-하나의 파서는 한 프로그램과 그와 전혀 관련이 없는 다른 프로그램에서 똑같이 사용할 수 있다.
(플랫폼과 언어 그리고 프로그램에 상관없이 XML문서를 인식.)
-XML 문서에 사용된 언어는 파서와 전혀 관련이 없다.
반응형
'IT > 단어' 카테고리의 다른 글
myBatis란? (0) | 2022.04.18 |
---|---|
Hosts 파일 위치 및 수정 (0) | 2022.04.16 |
RSS란? (0) | 2022.04.12 |
Maven 이란? (0) | 2022.03.31 |
Manifest 파일이란? (0) | 2021.04.14 |
댓글