Section 01 DOM DOM Core CDATASection XML CDATA

  • Slides: 41
Download presentation

Section 01 DOM 개념 DOM Core 확장 인터페이스 종류 내용 CDATASection XML 문서에서 CDATA

Section 01 DOM 개념 DOM Core 확장 인터페이스 종류 내용 CDATASection XML 문서에서 CDATA Section에 해당 Document. Type 문서의 타입 정의에 해당하는 객체 Notation DTD의 Notation에 해당하는 객체 Entity. Reference XML 문서에서 Entity에 대한 참조에 해당하는 객체 Entity XML 문서에서 Entity에 해당 Processing. Instruction XML 문서의 processing instruction 부분에 해당 10

Section 01 DOM 개념 XML 문서를 DOM 인터페이스를 적용해서 트리 형태로 작성한 예 <students>

Section 01 DOM 개념 XML 문서를 DOM 인터페이스를 적용해서 트리 형태로 작성한 예 <students> students. xml <student> <name>박미영</name> <age>25</age> </student> <name>고소영</name> <age>24</age> </student> </students> [그림 9 -5] DOM 노드 트리 모델링 11

Section 02 DOM API 활용 Node 인터페이스 DOM의 기본 자료형. DOM 트리에서 노드 표현시

Section 02 DOM API 활용 Node 인터페이스 DOM의 기본 자료형. DOM 트리에서 노드 표현시 사용 node 인터페이스 node. Name node. Value 속성 Attr 속성의 이름 속성의 값 null CDATASection #cdata-section CDATA섹션의 내용 null Comment #comment 주석 내용 null Document #document null Document. Fragment #document-fragment null Document. Type 문서 타입 이름 null Element 태그 이름 null Named. Node. Map Entity 개체 이름 null Entity. Referencce 개체 참조 이름 null Notation 노테이션 이름 null Processing. Instruction 타겟 타겟을 제외한 내용 null Text #text 텍스트 노드의 내용 null 13

Section 02 DOM API 활용 Node 인터페이스: : 멤버 필드 상수값 ELEMENT_NODE 1 PROCESSING_INSTRUCTION_NODE

Section 02 DOM API 활용 Node 인터페이스: : 멤버 필드 상수값 ELEMENT_NODE 1 PROCESSING_INSTRUCTION_NODE 7 ATTRIBUTE_NODE 2 COMMENT_NODE 8 TEST_NODE 3 DOCUMENT_NODE 9 CDATA_SECTION_NODE 4 DOCUMENT_TYPE_NODE 10 ENTITY_REFERENCE_NOD E 5 DOCUMENT_FRAGMENT_NODE 11 ENTITY_NODE 6 NOTATION_NODE 12 [표 9 -7] 멤버 필드 14

Section 02 DOM API 활용 Node 인터페이스: : 노드 정보를 얻는 메소드 내용 String

Section 02 DOM API 활용 Node 인터페이스: : 노드 정보를 얻는 메소드 내용 String get. Node. Name() 노드 이름을 반환 String get. Node. Value() 노드 값을 반환 void set. Node. Value(String node. Value) 노드 값을 설정 short get. Node. Type() 노드 타입을 반환 Named. Node. Map get. Attributes() 속성을 반환 Document get. Owner. Document() 현재 노드가 속한 문서를 반환 [표 9 -10] 노드 정보를 얻는 메소드 16

Section 02 DOM API 활용 Document 인터페이스: : 문서 트리를 순회하기 위한 메소드 내용

Section 02 DOM API 활용 Document 인터페이스: : 문서 트리를 순회하기 위한 메소드 내용 Element get. Document. Element() 문서 요소를 반환 element. ID안에 지정된 Element get. Element. By. ID(String element. ID) ID를 가진 요소를 반환 지정된 ID를 가진 요소가 없으면 NULL 반환 namespace. URI로 지정된 네임스페이스와 지정된 로 컬 이름을 가진 문서 안에 있는 모든 Node. List get. Elements. By. Tag. Name. NS(String namespace. URI, String local. Name) 요소의 Node. List를 반환 Node. List get. Elements. By. Tag. Name(String tag. Name) 문서 안에 tag. Name의 이름을 가진 모든 요소의 Node. List 객체를 반환 [표 9 -14] 문서 트리를 순회하기 위한 메소드 21

Section 02 DOM API 활용 Document 인터페이스: : 문서를 작성하기 위한 메소드 내용 Element

Section 02 DOM API 활용 Document 인터페이스: : 문서를 작성하기 위한 메소드 내용 Element create. Element(String tag. Name) 지정된 이름의 요소를 만들 때 사용하는 메소드로, tag. Name에 지정된 이름의 요소를 생성 Element create. Element. Ns(String namespace. URI, String qulified. Name) 주어진 이름과 네임스페이스를 이용해서 요소를 생성 Document. Fragment create. Document. Fragment() 비어있는 Document. Fragment 객체를 생성 Text create. Text. Node(String data) data에 텍스트가 있는 text 노드를 생성 Comment create. Comment(String data) data에 텍스트가 있는 Comment 노드를 생성 CDATASection create. CDATASection(String data) data에 있는 텍스트가 CDATASection 노드를 생성 Processing. Instruction create. Processing. Instruction(String target, String data) 지정된 target과 data를 가진 Processing. Instruction 노드를 생성. Processing. Instruction이 가리키는 애플리케이션을 지정하는 문자열이 오고, data는 target을 제외한 나머지 부분의 문자열이 온다. Attr create. Attribute(String name) 지정된 name 속성을 생성. 만들어진 노드는 노드 인터페이스의 node. Name 속성에 접근을 할수 있다. Attr create. Attribute. NS(String namespace. URI, String qulified. Name) 주어진 이름과 네임스페이스를 이용해서 속성을 생성 Entity. Reference create. Entity. Reference(String name) 지정된 name의 개체 참조를 생성 Node import. Node(Node import. Node, boolean deep) 다른 문서에서 이 문서로 import. Node 노드를 가져온다. 원래의 노드는 이전의 문서에서 제거되지 않고 복사된다. deep속성은 deep 또는 shallow clone을 지정 한다. [표 9 -15] 문서를 작성하기 위한 메소드 필요한 곳으로 노드를 복사할 수 있도록 함 22

Section 02 DOM API 활용 DOMImplementation 인터페이스 DOM을 구현할 때 어떤 문서에나 적용가능한 메소드

Section 02 DOM API 활용 DOMImplementation 인터페이스 DOM을 구현할 때 어떤 문서에나 적용가능한 메소드 제공 Document 인터페이스와 implementation 속성을 이용해서 DOMImplementation 객체 생성도 가능 DOMImplementation 인터페이스의 메소드 내용 boolean has. Feature(String feature, String version) 현재 DOM의 어떤 특성을 지원하는지 확인 Document. Type create. Document. Type(String qualified. Name, String public. Id, String system. Id) 지정된 속성의 문서 타입을 생성 DOM레벨 1인 경우에 “ 1. 0”을 사용. Document create. Document(String qulified. Name으로 지정된 문서 요소를 가진 namespace. URI, String qulified. Name, Document 객체 생성. Document. Type doctype) doctype 속성은 반드시 Document. Type 형식 의 객체를 참조해야 한다. 23

Section 02 DOM API 활용 Element 인터페이스: : 요소 태그에 접근하기 위한 메소드 내용

Section 02 DOM API 활용 Element 인터페이스: : 요소 태그에 접근하기 위한 메소드 내용 String get. Tag. Name() 태그 이름을 반환 Node. List get. Element. By. Tag. Name(String name) name으로 주어진 노드를 가진 모든 자식의 Node. List를 반환 Node. List get. Element. By. Tag. Name. NS(String namespace. URI, String local. Name) 주어진 이름과 네임스페이스를 갖는 모든 요소를 반환 boolean has. Attribute(String name) 주어진 이름의 속성이 있는 경우, true를 반 환 boolean has. Attribute. NS(String namespace. URI, String local. Name) 주어진 이름과 네임스페이스를 갖는 속성 이 있는 경우, true를 반환 [표 9 -18] 요소 태그에 접근하기 위한 메소드 29

Section 02 DOM API 활용 Text 인터페이스의 메소드 Text split. Text(int offset) 내용 offset을

Section 02 DOM API 활용 Text 인터페이스의 메소드 Text split. Text(int offset) 내용 offset을 기준으로 텍스트를 두 개로 분리 36

Section 03 DOM을 활용한 XML 문서 조작 요소 추가를 위해 사용할 메소드 내용 Element

Section 03 DOM을 활용한 XML 문서 조작 요소 추가를 위해 사용할 메소드 내용 Element create. Element(String tag. Name) 문서에 요소를 생성 Text create. Text. Node(String data) 문서에 텍스트를 생성 Document get. Owner. Document() 노드에 문서를 얻는다 Node append. Child(Node new. Child) 노드에 자식 노드를 추가 요소 삭제를 위해 사용할 메소드 내용 Node get. Parent. Node() 노드 부모를 얻는다 Node remove. Child(Node old. Child) 노드 자식을 삭제 39

Thank you

Thank you