IBM®
메인 컨텐츠로 가기
    Korea [국가변경]    이용약관
 
 
   
        제품    서비스 & 솔루션    고객지원 & 다운로드    회원 서비스    

한국 developerWorks  >  XML  >

Document Object Model (DOM)

파싱 된 XML 문서를 노드 객체의 트리로서 접근하기

developerWorks

난이도 : 중급

필자: W3C

2007 년 6 월 19 일

XML 문서의 부분들로 직접 액세스 하는 트리(tree) 구조의API인 Document Object Model (DOM)의 사용법을 배워보자. DOM은 XML 문서에 액세스 하는 가장 대중적인 방법이고, 성능은 조금 떨어지지만 사용이 편리하다라는 강점이 있다.

Document Object Model (DOM) [W3C Recommendation]은 XML 문서 일부에 직접 액세스 하는 XML 문서용 객체 모델이다. DOM에서, 문서는 트리(tree)로 모델링 되고, 이 곳에서 XML 신택스의 각 컴포넌트(엘리먼트 또는 텍스트 콘텐트)는 노드로서 표현된다. DOM은 이러한 트리를 부모 노드부터 자식 노드까지 검색하고 각 노드의 특별한 프로퍼티(엘리먼트는 애트리뷰트를 가질 수 있고, 텍스트 노드는 텍스트 데이터를 갖는다.)를 활용한다. DOM은 언어에 중립적이다. Object Management Group (OMG)의 CORBA Interface Definition Language (IDL) [ISO International Standard, number 14750]은 DOM 노드를 표현하고 인터페이스를 지원하는데 사용된다.

DOM은 원래 웹 브라우저에서 HTML과 XML 객체들에 대한 스크립팅 연산들을 표준화 하는 객체 모델이었다. 어떤 경우에, 독립 프로그래밍 API로서 사용될 때 어색하게 변환되기도 하고 이러한 문제들을 적극 해결하고 있다. DOM은 여러 단계를 거쳐 진화하고 있고, 이전 레벨들의 기반 위에 새로운 기능을 추가하고 있다. Level 1에서는 기초를 다룬다. Level 2에서는 네임스페이스 지원, UI 이벤트 모델, 이터레이터(iterator)가 추가되었다. Level 3에서는 XML 문서 파일에서 로딩 및 저장하고, XPath를 통합하고, 밸리데이션을 지원하는 API가 추가되었다.

DOM은 Simple API for XML (SAX) 보다 이해하기가 훨씬 쉽다. 콜백과 고급 상태 관리가 포함되어 있지 않기 때문이다. 하지만, DOM은 메모리에 모든 XML 노드를 저장하고 있으며, 이는 큰 문서에는 비효율적이다. 많은 언어들에는 DOM 구현이 추가되었지만, DOM은 언어 중립성을 띄기 때문에 특정 언어를 준수한다는 것이 더욱 어색하고 각 언어마다 갖고 있는 강점을 활용할 수 없게 만든다. 결국, 많은 언어 별 트리 API들이 생겨나고 있다.


참고자료



위로


문서 옵션

JavaScript가 필요한 문서 옵션은 디스플레이되지 않습니다.

영어원문

영어원문


제안 및 의견
피드백

    IBM 소개 개인정보 보호정책 문의