Document Object Model (DOM) parser
A DOM parser allows you to represent your XML document as a tree of nodes in your program. The DOM provides a common way of accessing general data structures from structured documents. A DOM parser can be used to process an XML file in Smalltalk.
Document Object Model (DOM)
The DOM standard is a W3C standard which describes mechanisms for software developers and Web script authors to access and manipulate parsed XML (and HTML) content. The DOM is platform- and language-neutral.
The DOM presents documents as a hierarchy of node objects that also implement other, more specialized interfaces. Methods that are part of the Document Object Model are saved in the AbtDOM-API category. The DOM API is documented at http://www.w3.org/TR/DOM-Level-2-Core.
When to use the DOM parser
Use the DOM parser (AbtXmlDomParser) to read an XML file and return a representation of the file as a tree of objects. Most objects are subclasses of AbtDOMNode. You can then traverse the document tree and execute actions on the tree structure.
VA Smalltalk support for the DOM level-2 specification
The VA Smalltalk XML DOM parser is actually a SAX-2 parser which supplies SAX event handlers for constructing DOM objects. Currently, VA Smalltalk supports the core interfaces of the DOM level-2 specification.
The following table lists the Smalltalk classes that implement the interfaces from DOM level-2:
Interface
Smalltalk implementor
Attr
AbtDOMAttr
CDATASection
AbtDOMCDataSection
Comment
AbtDOMComment
Document
AbtDOMDocument
DocumentFragment
AbtDOMDocumentFragment
DocumentType
AbtDOMDocumentType
DOMImplementation
AbtDOMImplementation
DOMString
String
Element
AbtDOMElement
Entity
AbtDOMEntity
Entity Reference
AbtDOMEntityReference
DOM Exception
SgmlException
Named Node Map
AbtDOMNamedNodeMap
Node
AbtDOMNode
Node List
AbtDOMNodeList
Notation
AbtDOMNotation
Processing Instruction
AbtDOMProcessingInstruction
VA Smalltalk deviations from the DOM level-2 specification
The VA Smalltalk DOM parser deviates from the DOM level-2 specification as follows:
The DOMString interface deviates from the DOM level-2 specification. Smalltalk String objects are used in places where the specification calls for DOMStrings. Smalltalk Strings are stored in the code page of the active system. DOMStrings are encoded as UTF-16.
Some of the character manipulation functions of the DOM level-2 specification call for arguments that use 16-bit units. The VA Smalltalk DOM support always uses 8-bit (1 byte) units. When the DOM specification refers to a 16-bit unit, VA Smalltalk uses a single byte (8-bit unit).
Last modified date: 05/14/2020