Title: Document Object Model (DOM): An Abstract Data Structure for XML data
1Document Object Model (DOM) An Abstract Data
Structure for XML data
CSC 560 Management of XML Data
Department of Computer Science
2Trees for XML
faculty
dept
name
course
3Trees for XML
faculty
Id27
name
dept
course
title
code
sem
first
middle
last
Computer Science
Database Systems
Alexander
M.
Dekhtyar
Spring 2007
CS 405
originUkraine
4Trees for XML
- Root node
- Element node
faculty
name
Computer Science
- Text node
Id27
- Attribute node
5Document Object Model
- System of types/interfaces
6Functionality
Creation of nodes
Insertion of nodes in into the DOM Tree
Traversal of the DOM Tree
7DOM Type Structure
interface NodeList
list of
interface Node
interface Document
subtype
interface NamedNodeMap
interface Element
set of
interface Attr
interface DocumentType
interface Comment
interface CharacterData
interface Text
interface DocumentType
interface CDATASection
and a few more
8interface Node
document
faculty
DOMString nodeName DOMString nodeValue short
nodeType Node parentNode NodeList childNodes
Node firstChild Node lastChild Node
previousSibling Node nextSibling NamedNodeMap
attributes Document ownerDocument
name
dept
middle
first
originUkraine
9Node Types
nodeName
nodeValue
nodeType
interface Node
9 1 2 10 8 3 6 4
interface Document
subtype
interface Element
Tag null
interface Attr
AttName AttValue
interface DocumentType
interface Comment
text content
interface Text
interface Entity
interface CDATASection
and a few more
(12 nodetypes altogether)
10interface Node methods
Node insertBefore(in Node newChild, in Node
refChild) Node replaceChild(in Node newChild, in
Node oldChild) Node removeChild(in Node
oldChild) Node appendChild(in Node newChild)
boolean hasChildNodes() Node cloneNode(in
boolean deep)
11DOM Type Structure
interface NodeList
list of
interface Node
interface Document
subtype
interface NamedNodeMap
interface Element
set of
interface Attr
interface DocumentType
interface Comment
interface CharacterData
interface Text
interface DocumentType
interface CDATASection
and a few more
12interface Document
document
doctype
Attributes
root
DTD
ltagt
ltagt
ltagt
ltagt
Methods
Element createElement(in DOMString
tagName) DocumentFragment createDocumentFragment()
Text createTextNode(in DOMString
data) Comment createComment(in DOMString
data) CDATASection createCDATASection(in
DOMString data) Attr
createAttribute(in DOMString name) NodeList
getElementsByTagName(in DOMString tagname)
13DOM Type Structure
interface NodeList
list of
interface Node
interface Document
subtype
interface NamedNodeMap
interface Element
set of
interface Attr
interface DocumentType
interface Comment
interface CharacterData
interface Text
interface DocumentType
interface CDATASection
and a few more
14interface Element
interface Element Node DOMString tagName
DOMString getAttribute(in DOMString name)
void setAttribute(in DOMString name, in
DOMString value) void removeAttribute(in
DOMString name) Attr getAttributeNode(in
DOMString name) Attr setAttributeNode(in Attr
newAttr) Attr removeAttributeNode(in Attr
oldAttr) NodeList getElementsByTagName(in
DOMString name)
Attribute management
15DOM Type Structure
interface NodeList
list of
interface Node
interface Document
subtype
interface NamedNodeMap
interface Element
set of
interface Attr
interface DocumentType
interface Comment
interface CharacterData
interface Text
interface DocumentType
interface CDATASection
and a few more
16DOM Type Structure
interface NodeList
list of
interface Node
interface Document
subtype
interface NamedNodeMap
interface Element
set of
interface Attr
interface DocumentType
interface Comment
interface CharacterData
interface Text
interface DocumentType
interface CDATASection
and a few more
17interface NodeList
interface NodeList Node item(in unsigned
long index) unsigned long length
interface NamedNodeMap
interface NamedNodeMap Node getNamedItem(in
DOMString name) Node setNamedItem(in Node
arg) Node removeNamedItem(in DOMString name)
Node item(in unsigned long index)
unsigned long length