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:
| |
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