1. DOM Level 1은 XML에 접근하기 위한 Core부분과 HTML접근에 특화된 인터페이스를
제공하는 API로 구성되어 있다.
2. Node
Node은 DOM에서 가장 중요한 인터페이스 이다.
DOM 인터페이스 중 셋중 둘은 직/간접적으로 Node인터페이스를 구현하고 있다.
1) Node 타입 상수
① Node.ELEMENT_NODE : 노드가 포함하고 있는 XML 엘리먼트를 리턴한다
② Node.ATTRIBUTE_NODE : 노드가 포함하고 있는 엘리먼트의 속성을 리턴한다.
③ Node.TEXT_NODE : 태그 안에 포함된 것을 제외한 모든 텍스트를 리턴한다.
주석 , CDATA sections등을 포함한다.
④ Node.CDATA_SECTION_NODE : <!CDATA[..]]>로 마킹된 부분
⑤ Node.ENTITY_REFERENCD_NODE : 엔터티에 대한 레퍼런스를 얻는다.
⑥ Node.ENTITY_NODE : 엔터티객체를 리턴한다.
⑦ Node.PROCESSING_INSTRUCTION_NODE : 프로세싱 명령어를 리턴한다.
⑧ Node.COMMENT_NODE : 주석을 리턴한다.
⑨ Node.DOCUMENT : 문서 전체를 리턴한다.
⑩ Node.DOCUMENT_TYPE_NODE : DTD를 리턴한다.
⑪ NODE.NOTATION_NODE : 노테이션을 리턴한다.
2) 탐색 매소드
모든 노드는 DOM 구조를 탐색할 수 있는 메소드를 제공하나다.
대응하는 노드가 없을 경우 null을 반환한다.
① getParentNode() : 노드의 보모를 반환 한다.
② getFirstChild() : 노드의 왼쪽에서 오른쪽 순으로 첫번째 자식을 반환한다.
③ getLastChild() : 마지막 자식을 반환한다.
④ getPreviousSibling() : 같은 level에 있는 바로 앞에 있는 노드를 반환한다.
⑤ getNextSibling(): 같은 level에서 바로 다음에 있는 노드를 반환한다.
⑥ getChildNodes() : 순서화된 NodeList를 반환한다.
NodeList는 getLength(), item() 를 사용하여 정보를 제공한다.
2. DOM leve 1/2는 입/출력에 관한 기능을 명시하지 않았기때문에
사용자가 직접 파일 입출력 스트림을 작성하거나 밴더에서 제공하는 라이브러리를
사용하거나 JAXP를 사용해야 한다.
이는 DOM의 기원이 브라우져에 존제하는 HTML을 모델링 하기위해 제작되었기때문에
인데, 즉 이미 브라우져에 있는 것을 읽어드리거나 출력 할 필요가 없었다는 것이다.
3. 엘리먼트 내부에 있는 텍스트들은 엘리먼트의 값이 아니라 하나의 자식으로(TEXT_NODE)
로 간주한다.
'XML' 카테고리의 다른 글
[본문스크랩] 3.4 DOM Level2 (0) | 2010.07.12 |
---|---|
[본문스크랩] 3.3 DOM JAXP를 사용한 XML 처리 (0) | 2010.07.12 |
[본문스크랩] 3.1 DOM(Document Object Model) (0) | 2010.07.12 |
[본문스크랩] 1.5 XML 프로세서 (0) | 2010.07.12 |
[본문스크랩] 1.4 XML 네임스페이스(Namespace) (0) | 2010.07.12 |