XML

Digital Convergence 2008. 10. 20. 11:35

 

 

 

*XML(Extensible Markup Language)

  1.특징

-self describling, 미리정의돈 것이 아니고 필요할 때마다 태그를 정의해서 사용

-XML을 사용하는 경우에  문서를 사용한 플랫폼이나 Application에 종속될 필요 없음

-파서가 에러없이 인식할 수 있도록 하는 well-formed/Validation 지원

-문서구조, 내용, 스타일을 분리하여 사용, 즉 모듈식으로 프로그래밍이 가능

 XML구조(1).gif

 

   2. XML 문서구조

-서로부분과, 문서내용부분. 서론부분은 XML 문서에 대한 정보를 제공, 문서내용 부분은 실제 사용자가 정의한 태그를 사용하여 기술한 부분

-서론은 선언부분과 DTD 부분으로 구성,

-DTD(Document Type Definition)는 XML문서의 구조와 XML 문서에서 사용할 수 있는 원소와 속성들을 정의

-XML 파서는 Applicaion에게 XML 문서의 데이터 또는 자료구조를 제공함

 XML파서.gif

 

1)SAX(Simple API For XML)

  - 자료 구조를 만들지 않고 XML 문서를 스캔해 주면서 순차적으로 이벤트를 발생시켜서 XML 문서에 접근할 수 있게 하는 API

  - DOM은 W3X 공식표준, SAX는 업계표준(De-facto)

2)DOM(Document Object Model)

  - XML 문서를 트리 구조 형태로 Access 할 수 있게 해 주는 API

  - DOM은 트리 구조 전부를 메모리에 올려서 사용하므로 메모리 효율성이 현저하게 저하

3) DOM과 SAX 비교

 

 구분 장점 단점
 DOM

-문서 구조에 대한 풍부한 표현력으로 XML 문서를 생성 및 조작할 수 있음

-사용이 편리함

-메모리 사용량이 많음

-upload 속도 느림

 SAX

-입력파일 크기에 구애 받지 않고 파싱할 수 있음

-처리해야 할 파일이 많거나 큰 경우에 적합함

-XML에 대한 임의의 엑세스가 없고 수정에 대한 지원이 없음

-문서를 생성하거나 편집하는데 사용할 수 없음

 4)XML의 단점

  - 같은 데이터를 다양한 태그로 정의(호환?, 재활용?, 연계?)

  - 임의의 문서구조를 지정할 수 있는 반면에 문서 구조가 갖는 의미에 대해서는 정의하지 않음 

 <note>

<date> 12/11/99</date>

<to> Tove </to>

<form> Jani </from>

<heading> Reminder </heading>

<body> Don't forgetm me this weekend </body>

</note>

 <note>

<year>99</year>

<month>12</month>

<day>11</day>

생략

</note>

- <date>와 <year><month><day> 태그의 데이터는 같으나, 컴퓨터마다 다른 태그로 인식 

 

이 글은 스프링노트에서 작성되었습니다.

Posted by 배짱이
,