DOM 프로그래밍
- DOM이란?
- 프로그램이나 스크립트에서 문서의 내용이나 구조, 스타일에 동적으로 접근하고 수정할 수 있도록 해 주는 특정 플랫폼과 특정 프로그래밍 언어로부터 중립적인 인터페이스
- DOM은 HTML과 XML 문서를 위한 응용 프로그래밍 인터페이스(API)
- DOM은 문서를 접근하고 조작하기 위한 방법으로 문서의 논리적 구조를 정의
- DOM을 이용하여 사용자들은 문서를 생성하고 그 문서의 구조에 따라 항해(navigation)하고, 엘리먼트와 문서 내용을
추가/수정/삭제할 수 있다.
- DOM을 이용한 XML 응용 개발 환경
- DOM과 Parser의 관계
- DOM은 XML 파서를 기반으로 구성됨
- XML 파서는 XML 문서를 읽고 DOM 트리를 생성한다. 그런 다음 API를 통해서 DOM 트리에 접근할 수 있도록 한다.
|
- DOM Core 인터페이스들의 상속 관계
- Document 노드
- xml 문서를 대표하는 노드
- xml 문서의 최상위에 위치하는 녿,
- 문서에서 오직 하나만 존재하는 노드
- NodeList 노드
- 노드들을 관리하는 관리자 역할
- 부모노드와 자식노드들간의 계층적 관계에 있어서 부모노드가 자식노드들을 관리하는 것이 아니라 중간에 NodeList라는 노드를 두어 자식노드들을 관리한다.
- NodeList는 노드들을 그룹화하는데 사용
- 자식노드들이 부모노드들을 접근하고자 할 때 사용
- NamedNodeMap
노드
- 엘리먼트의 속성을 관리하는 노드
- 엘리먼트와 속성들간의 계층적 관계에 있어서 엘리먼트가 속성들을 관리하는 것이 아니라 중간에 NamedNodeMap이라는 노드를 두어 속성들을 관리한다.
- 속성 구조가 엘리먼트를 접근하고자 할 때 사용
- Element 노드
- xml 문서의 엘리먼트를 관리하는 노드
- 엘리먼트와 엘리먼트들의 관계를 관리하는 노드
- 최상위 노드인 Document 노드를 제외한 모든 엘리먼트들을 관리
- Text노드 : 엘리먼트 안에 포함된 문서의 내용, 값
- Att(Attribute) 노드 : 엘리먼트 안에서 정의된 속성 타입
- CDATASection 노드 : " [ < > ] " 등의 마크업을 처리하기 위해 사용되는 노드
- DocumentType 노드 : DTD 구조의 , , 등을 관리하는 노드
- Entity 노드 : DTD 구조에서 Entity를 관리하는 노드
- Notation 노드 : DTD 구조에서 Notation를 관리하는 노드
- EntityReference 노드 : DTD 구조에서 EntityReference를 관리하는 노드
- ProcessingInstruction 노드 : xml 문서에서 와 같은 선언문을 관리하는 노드
- Comment 노드 : 과 같은 주석문을 관리하는 노드
- Document 노드
- DOM 표준 인터페이스
- DOM 구조를 위한 데이터 섬
- HTML 문서 안에 독립적으로 내장될 수 있는 XML 문서
- 내부 연결 구조
- 외부 연결 구조
<xml id="사용자 xml-id명">
xml 문서
</xml>
<xml id="사용자 xml-id명" src="연결할 외부파일명">
</xml>
'IT_Programming > XML' 카테고리의 다른 글
PHP & xml 파싱 기초 (0) | 2007.09.30 |
---|---|
Virtual Universal Server (0) | 2006.03.14 |
FOP를 이용한 PDF생성시 한글변환방법 (0) | 2006.01.31 |
About JDOM & JDOM Programming with Java (0) | 2006.01.31 |
자바가 바라보는 XML (0) | 2006.01.31 |