본문 바로가기
XML

[본문스크랩] 3.2 DOM Level 1

by 사우람 2010. 7. 12.

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)

   로 간주한다.