정보 저장 + 구조 기술의 명세서이다. 사용자 정의 ML을 정의하는 규칙의 집합이다.
XML은 메타 언어이다. 메타 언어란 마크업 언어를 개발하기 위한 언어이다. 즉 XML은 마크업 언어를 개발하기 위한 언어이다.
문서구조를 정의 하거나 표현하기 위해 정의한 부가 정보이다.
마크업 표현이 프로그램마다 다르면 호환성이 떨어짐
HTML의 단점
html은 정보 전달용도로 사용 불가능하다 XML은 쉽고 빠르게 전달이 가능하다.
XML문서의 적용 분야
<?XML version="1.0" encoding="euc-kr" standalone="yes" ?>
XML의 주석 처리는 다음과 같이 처리한다.
<! -- 내용 -->
요소는 최상위 요소, 요소 속성, 요소등이 존재한다.
최상위 요소는 XML문서의 가장 바깥에 있다. 이러한 요소는
요소는 속성을 가질 수 있는데 요소의 속성은 다음과 같이 표현한다.
요소는 시작태그, 요소내용, 종료태그로 이루어진다.
시작태그 / 요소내용 / 종료태그
<element>text</element>
시작태그는 태그의 시작을 의미한다.
요소내용은 태그 내부에 텍스트를 의미한다.
종료태그는 시작 태그와 함께 사용되며 끝을 의미한다.
기본적으로 XML은 HTML과 관련성이 있기 때문에 표현 방법또한 많이 비슷하다.
XML의 자유로운 태그정의로 여러 중복태그가 발생하게 된다. 이러한 중복을 방지하기 위해 XML Namespace이 탄생 하였으며 네임스페이스는 요소명과 속성명을 정확하게 인식하는 개념을 제공하게 되었다. 즉 XML Namespace는 이름 공간의 중복을 방지하기 위하여 생겼다.
요소의 이름 충돌방지 방법
요소의 이름에 접두사를 붙이는 방법이다. 클래스 단위로 묶어 같은 이름의 함수를 피하는 방법과 비슷하다.
네임스페이스 선언은 XMLns
, XMLns:
을 사용한다. 네임스페이스이름과 그 이름을 대신하여 사용할 접두사와 연관 짓는 것을 의미한다.
기본 네임스페이스는 접두사를 포함하지 않는 모든 요소들이 기본적으로 속하는 네임스페이스를 의미한다. 요소에 XMLns속성을 사용하의 네임스페이스를 선언하고 하위요소에는 자동적으로 상위 요소에서 선언한 네임스페이스가 적용된다. XML문서중 기본 네임스페이스로 선언되면 네임스페이스 접두어를 붙이지 않는다.
<?XML version="1.0" encoding="euc-kr" ?>
<main XMLns="URL_Reference">
<header>header</header>
<body>body</body>
<footer>footer</footer>
</main>
main
태그의 속성에 XMLns
에 속성값 URL_Reference
이 있으며 그 하위 header
, body
, footer
태그들은 자동적으로 main
태그의 URL_Reference
속성값을 받게 된다.
네임스페이스 접두사는 XML문서중에서 사용하는 요소명이나 속성명과 XMLns: 속성값으로 지정하는 URI 참조를 관련 시키기 위해 사용한다.
<main XMLns : st ="URL_Reference">
<?XML version="1.0" encoding="euc-kr" ?>
<main XMLns : st ="URL_Reference">
<st : header>header</header>
<st : body>body</body>
<st : footer>footer</footer>
</main>
접두사를 사용하는 네임스페이스는 접두사가 붙은 요소는 해당 접두사에 포함관계를 가지고 있다.
정형식 문서는 XML 문법과 규칙에 맞게 만들어진 오류가 없는 문서를 의미한다.
XML문서를 표준화해서 만들 목적으로 작성된 문서이다. DTD를 따르는 XML 문서이다. 이러한 DTD의 규칙대로 작성된 문서를 해당 DTD에 유효한 문서이다.
유효한 문서와 정형식 문서의 포함관계는 다음과 같다.
모든 문서가 서로 다른 형태로 정의하게 된다면 표준화와는 거리가 많이 멀어진다. 표준화를 위해 DTD를 사용하며 용도별로 DTD를 정의하고 정의한 DTD를 기반으로 XML문서를 작성한다.
XML문서가 형식에 맞게 작성되었는지 확인하는 프로그램이다. 또한 XML문서를 다른 응용프로그램에서 사용되도록 변환하는 소프트웨어이다.
XML파서를 이용하기 위해서는 당연히 XML문서와 DTD, XSD와 같은 문서가 필요하다.