XML(Extensible Markup Language)

-     정의

XML(Extensible Markup Language) W3C에서 다른 특수 목적의 Markup 언어를 만드는 용도에서 권장되는 다목적 Markup 언어이다. XML SGML의 단순화된 부분집합이지만, 수많은 종류의 데이터를 기술하는 데 적용할 수 있다. XML은 주로 다른 시스템, 특히 인터넷에 연결된 시스템끼리 데이터를 쉽게 주고 받을 수 있게 하여 HTML의 한계를 극복할 목적으로 만들어졌다.

*Markup Language - 태그 등을 이용하여 데이터의 구조를 명시하는 언어의 한 가지

 

사람이 이해할 수 있으면서 애플리케이션이 해석하여 이해할 수 있는 중간위치의 범용적인 데이터 표현 언어

-     설계목적

          XML은 간단하게 인터넷을 통해 사용 가능하여야 한다.

          XML은 다양한 응용 프로그램을 지원해야 한다.

          XMLSGML과 호환되어야 한다.

          이것은 XML 문서 처리기를 쉽게 작성하게 한다.

          XML의 부가적인 기능은 되도록 최소가 되도록 한다

          XML 문서는 인간에게 합리적이며 명확하게 읽혀야 한다.

          XML 설계는 빠르게 진행되어야 한다.

          XML은 형식적이며 간결 하여야 한다.

          XML 문서는 쉽게 작성되어야 한다.

          XML Markup이 간결함을 가지는 것은 중요하지 않다.

*SGML - 전자문서가 어떠한 시스템 환경에서도 정보의 손실 없이 전송, 저장, 자동처리가 가능하도록 국제 표준화 기구(ISO)에서 정한 문서처리 표준

 

-     기본개념

          XML은 구조적인 데이터를 위한 것이다.

          XML은 다소 HTML 같이 보인다.

          XML은 텍스트이며, 읽혀지는 것만을 뜻하지 않는다.

          XML은 크기가 커진다.

          XML은 기술의 집합이다.

          XML은 새로운 기술이 아니라 발전한 기술이다.

          XMLHTML에서 XHTML로 이끌었다.

          XML은 모듈식이다.

          XMLRDF와 시맨틱 웹의 토대이다.

          XML은 라이선스 제약이 없다.

          XML은 플랫폼 독립적이고, 많은 지원이 있다.

-     특징

          정해진 태그가 존재하지 않음

          데이터와 표현 부분을 분리

          데이터 항목의 의미에 따라 데이터를 구조화

          시스템과 데이터 연결성이 뛰어남

          대소문자를 구별

          태그들은 교차되어 사용될 수 없으며 시작태그와 종료태그가 반드시 필요

 

-      구성

 

 

XML 데이터의 표기

XSL,XSLT,CSS

XML 데이터의 문법정의

DTD, Schema

XML 문서의 해석(파서)

DOM

XML 문서의 링크

Xpath, Xpointer, Xlink

XML 의 변형

WML, XHTML, MathML

 

 

 

 

 

 

 

 

-     사용 예

          환경 설정 파일

          원격 프로시저 호출

          개체 직렬화

          데이터베이스 덤프

          기타 객체 지향 작업

 

 

 

 

-     응용분야

 분야

 기술

 내용

  /인터넷

 CDF

 웹캐스팅(webcasting)을 위한 메타 데이터를 기술하는  형식

 현재 마이크로 소프트위 액티브 채널을 위한 언어

 OSD

 소프트웨어 배포와 설치를 위한 정보를 기술하기 위한  형식 언어

  메타 데이터

 RDF

 메타 데이터를 기술하기 위한 범용적 데이터 기술 방법

 기존의 메타 데이터 기술 방법을 모두 포함

 최근에는 시맨틱 웹을 구현하기 위한 기술 언어로 사용

 MCF

 넷스케이프에서 제안한 메타 데이터 기술 방법

  멀티미디어/

그래픽/

스피치

 SMIL

 멀티미디어 데이터의 동기화를 위한 언어

 PGML

 2D 그래픽 데이터를 텍스트 형태로 표현하는 언어

 MusicML

 음악 악보를 위한 언어

 악보에 쓰이는 다양한 기호를 표시하기 위한 언어

 JSML

 문서화한 정보를 스피커로 듣기 위하여 썬에서 발표한  XML 어플리케이션 언어

비즈니스/

금융

 OFX

 금융 정보(화폐 정보)를 교환하기 위한 언어

 ML/EDI

 서로 다른 환경에서 데이터를 주고받기 위한 프레임워크  를 제공하기 위해 제안

 OTP

 거래와 관련한 프로토콜을 정의

 ICE

 비즈니스 업계의 정보를 주고 받기 위한 표준

  과학

 MathML

 수학 기호를 표시하기 위한 언어

 W3C에서 제공하는 아레나(Arena) 브라우저를 통하여  볼 수 있음

 CML

 화학식 표시를 위한 언어

 BSML

 DNA 구조와 같은 정보를 인코딩하고 디스플레이 하기  위한 언어

 

 

 

 

 

XML 문법

-     XML의 문법

<?xml version="1.0"?>
<회원목록>

<회원>

        <이름>홍길동</이름>

        <주소>두메산골</주소>

</회원>

</회원목록>

* '<' '>' 사이의 단어들은 xml태그이다.
*
정보는 시작 태그와 끝 태그 사이에 담겨지게 된다

*
태그는 짝을 이루고 있다.

 

요소의 시작 태그와 끝 태그 사이에 들어 있는 텍스트는 요소 (element)라고 부른다. 태그 사이에 있는 컨텐츠는 대부분의 경우 다른 요소와 달리 데이터이다. 이런 경우에 요소 컨텐츠는 파싱된 문자 데이터(Parsed Character DATA)라고 부른다. 보통 줄여서 PCDATA라고도 한다.

 

-     작성 규칙

          시작 태그 다음에는 반드시 마침 태그를 가져야 한다.

          XML 요소는 대소문자 구분이 있다.

          모든 XML 요소는 중첩 원리를 잘 지켜야 한다.

          반드시 최상위 요소를 하나만 가질 수 있다.

          속성 값은 쿼테이션(' 또는 ")으로 감싸줘야 한다.

          XML은 텍스트 안에 들어 있는 공백을 유지한다.

 

 

 

 

 

-     선언

선언

<?xml version=“1.0” encoding=“EUC-KR” standalone=“yes”?>

선언의 시작과 끝을 알리는 구문

PI(Processing Instruction)이라 하며 Application에게 전달하는 정보

버전 정보(필수)

<?xml version=“1.0” encoding=“EUC-KR” standalone=“yes”?>

버전 정보를 등록

인코딩 정보(선택)

<?xml version=“1.0” encoding=“EUC-KR” standalone=“yes”?>

언어 정보를 등록

의존성 정보(선택)

<?xml version=“1.0” encoding=“EUC-KR” standalone=“yes”?>

DTD를 내부에 포함하고 있는지 외부에 있는지 판별

 

 

-     XML 요소이름 작성규칙

           시작문자 가능 ' 문자, '_'

           시작문자 불가능 ' 숫자, xml

           첫문자 뒤에는 '-' '.', 숫자를 사용할 수 있다.

           이름은 공백을 포함할 수 없다.

           ':'를 포함하지 말자. 예약어 이다.

           대소문자를 확실히 구분한다.

           여는 문자('<') 뒤에 공백을 두면 안 된다.


Posted by ... XJAPAN