용어 설명/WEB

XML 정의

ssNi 2014. 8. 13. 14:22

XML : 구조적 정보가 있는 문서를 나타내는 마크업 언어

구조적인 문서를 웹에서 사용하기 위해 생겨남.

 

구조적 정보

컨텐츠(단어, 그림 등)와 컨텐츠가 어떤 역할을 수행하는지를 가리키는 것(섹션의 머리말에 있는 컨텐츠와 각주에 있는 컨텐츠는 그 뜻이 다름. 그림에 대한 설명이나 데이터베이스 테이블에 있는 컨텐츠와는 다름.)

마크업 언어=> 문서의 구조를 나타내는 메커니즘.

XML 규약 => 문서에 마크업을 덧붙이는 기준을 정의함.


문서란?

전통적인 문서만을 말하는 것이 아니라 무수한 다른 XML “데이터 형식을 지칭하기도 함.

데이터 형식 => 벡터 그래픽, e-커머스 처리, 수학의 등힉, 객체 메타-데이터, 서버  API, 수천 가지에 달하는 다른 구조적 정보를 모두 포함함.


XML HTML의 차이점

HTML에서는 태그의 의미와 설정이 정해져 있다. 예를 들어 <h1>은 첫번째 표제에 쓰는 태그, xml에서 <ati.product.code>는 아무 의미 없다. W3C는 브라우저 벤더와 WWW 커뮤니티와 연계하여 계속적으로 HTML의 정의를 확장하려고 노력하고 있다. 변화하는 기술에 보조를 맞추고, 웹에서 다양하게 표현하기 위해(스타일시트) 새로운 태그를 도입하고 있다. 하지만 브라우저 벤더에서 구현한 것이 다르고, 호환성이 계속 떨어지고 있어서 이러한 변화는 항상 그 범위가 제한된다. 게다가 네스케이프와 인터넷 익스플로러의 최신 배포판에서만 지원되는 특성이 많아서 다른 브라우저로는 정보를 퍼트릴 수가 없다.

XML은 의미나 태그 설정을 지정해 주지 않는다. 사실 XML은 확장 언어를 표현하는 메타언어이다. 태그와 태그간의 구조적 관계를 정의해줄 뿐이다. 미리 설정된 태그가 없어서 어던 의미를 띌 것이라고 예상할 수도 없다.

XML문서 에서는 의미를 처리하는 애플리케이션이나 스타일시트가 의미를 정의함.


XML SGML

XML SGML이 같은 것은 아니지만 일부는 그렇다라고 할 수 있다. XML SGML을 응용한 형태.

SGML ISO문서처리 표준의 하나로 Standard Generalized Markup Language의 약자. SGML이 표준이며, 상업적 벤더의 제품을 구입하지 않고도 구조적 문서를 10년 이상 저장할 수 있는 방법이긴 하지만, 웹에서 웹으로 문서를 전송하는데는 적합하지 않았다. XML SGML의 응용형태이므로 SGML 체계에서 XML문서를 읽어 들일 수 있다. 하지만 XML문서를 사용하고 이해하기 위해서 반드시  SGML의 특성을 알아야 할 필요는 없다.  XML SGML의 제한된 하나의 형식.

HTML SGML은 구조적인 문서를 웹에서 사용하기 위한 목적으로 사용할 때는 실용적이지 않다.

HTML은 의미와 깊이 연결되어 있으며, 임의의 구조를 제공하지 않는다. SGML은 임의의 구조를 제공하긴 하지만, 웹 브라우저에서 이를 구현하는 것은 너무 힘들다. SGML체계를 완벽하게 구현해서 크고 복잡한 문제를 해결한다면, 들인 비용에 대한 대가를 얻을 수 있겠지만, 단지 웹에서 구조적 문서를 보기 위해 SGML에 비용을 많이 들일 수 없다.

http://www.hanbit.co.kr/network/view.html?bi_id=84

XML문서는 마크업과 컨텐츠로 구성되고 마크업은 다시 엘리먼트, 엔티티 참조, 각주, 처리 명령, 마크된 섹션, 문서형 선언의 6가지로 나뉨.

엘리먼트:마크업에서 가장 자주 나타나는 형식. “<>” 으로 한계를 정하며 “<>”안에 있는 내용의 속성을 나타냄. <element>와 같은 시작 태그로 시작해서 </element>와 같은 종료 태그로 끝난다.

속성:엘리먼트 이름 다음의 시작 태그 안에 있는 이름-값 쌍을 말함.

엔티티 참조 : 문서에 마크업을 도입하기 위해서는 마크업이 시작되었음을 알리는 문자를 써줘야함. 열기태그는 엘리먼트가 시작하거나 끝났음을 알려줌. 이러한 문자를 컨텐츠로 삽입할 때에는 다르게 표기해야 함. 이 경우 XML에서는 엔티티를 사용해서 특별한 문자임을 나타냄.

자주 반복되거나 다양한 텍스트를 나타낼 때, 외부 파일의 내용을 포함할 때에도 엔티티를 사용함.

엔티티는 고유한 이름이 있어야 한다. 엔티티를 사용하려면 이름에 의해 엔티티를 참조하기만 하면 된다엔티티 참조는 앰퍼샌드로 시작해서 세미콜론으로 끝난다.

각주 : <!—로 시작해서 -à로 끝남. 문자열 만 빼면 모든 데이터를 넣을 수 있으며, 문서 내 마크업 사이 어느 곳에사 각주를 넣을 수 있다. 텍스트가 아니므로 XML 프로세서가 각주를 애플리케이션에 전달할 필요가 없다.

처리명령 : 애플리케이션에 명령을 제공하는 비상 수단텍스트의 일부는 아니지만 XML 프로세거가 처리명령을 애플리케이션에 전달해 주어야 함. 처리 명령에는 <?name pidata?>와 같은 형식이 있음.

CDATA  섹션 : 파서가 대부분의 마크업 문자를 무시하도록 함.

엘리먼트, 엔티티 참조, 각주, 처리 명령을 인식하지 않고, 이러한 것을 구성하는 문자는 철자 그대로 애플리케이션에 전달이 됨.

문서형선언:XML의 여러 가지 선언이 XML  규약의 많은 부분을 차지함.

의미 있는 문서가 되려면, 그리고 스타일 시트나 이를 처리할 애플리케이션을 작성하고 있다면, 순서와 태그 중첩에 어느 정도 제약을 가해야 함. 이러한 제챡을 표현하는 것이 선언임.

선언을 해줌으로써 문서는 메타 정보의 내용에 대해 파서와 의사소통할 수 있다.

메타정보에는 순서와 태그 중첩, 속성값, 속성 값의 유형과 디폴트, 참조하는 외부파일명, 참조하는 외부 데이터 형식, 엔티티 등이 포함된다.

XML선언에는 요소 유형 선언, 속성 리스트 선언, 엔티티 선언, 표시 선언

요소 유형 선언 ; 요소명과 요소에 포함되는 내용의 특성을 나타냄.

속성 리스트 선언 : 어떤 요소가 속성을 가지며, 가진다면 어떤 속성인지, 속성 값과 디폴트 속성 값은 얼마인지 나타내줌.

엔티티 선언 : 이름과 내용을 연결할 수 있다. 일반 텍스트, 문서 형선언, 텍스트나 바이너리 데이터를 포함한 외부파일 참조가 됨.

1)     내부엔티티 : 이름과 문자 그대로의 텍스트 문자열을 연결해줌.

2)     외부엔티티 : 이름과 다른 파일의 내용을 연결해 줌. 다른 문서 형식을 참조할 수 있는데 외부 엔티티에는 텍스트나 바이너리 데이터가 모두 포함될 수 있다.

3)     매개변수엔티티 : DTD에만 나타남.

표시 선언 : 외부 바이너리 데이터의 특정 유형을 나타냄. 이 정보는 처리 애플리케이션으로 전달되어 작업하게 됨.

문서형 선언 : 문서의 맨 앞에 취이. 명령 처리와 각주가 그 앞에 올 수도 있다. 문서의 최상위 요소를 알려주며, 부가적인 선언이 더 들어갈 수 있다. 하나의 최상위 요소를 가지며, 최상위 요소는 문서의 모든 내용을 포함함

 

 

'용어 설명 > WEB' 카테고리의 다른 글

SOAP  (0) 2014.08.13
ECMA 스크립트와 자바 스크립트  (0) 2013.09.16
커피스크립트  (0) 2013.09.16
CGI  (0) 2013.09.04
ODBC  (0) 2013.09.04