메인 컨텐츠로 가기

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

Document Object Model (DOM)

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

필자:  W3C

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

원문 게재일:  2007 년 6 월 19 일
난이도:  중급 원문:  보기
페이지뷰: 1380 회
의견: 

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들이 생겨나고 있다.


참고자료

의견



static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=20
Zone=XML
ArticleID=238825
SummaryTitle=Document Object Model (DOM)
publish-date=06192007