DOM
Raku LibXML DOM Interface
The W3C Level 2 Core DOM a platform and language independent interface for accessing and manipulating documents.
LibXML uses the W3C::DOM module to map classes and methods.
A quick summary of the Raku DOM implementation follows:
| W3C::DOM Role | W3C::DOM Parent | LibXML Class | L1 Methods | L2 Methods | NYI |
|---|
| Node | | LibXML::Node | nodeName nodeValue parentNode childNodes firstChild lastChild previousSibling nextSibling ownerDocument insertBefore replaceChild removeChild appendChild hasChildNodes cloneNode | normalize isSupported namespaceURI prefix localName hasAttributes | |
| CharacterData | Node | | data length substringData appendData insertData deleteData replaceData |
| Attr | Node | LibXML::Attr | name value | ownerElement | specified |
| CDATASection | Text | LibXML::CDATA | splitText |
| Comment | CharacterData | LibXML::Comment |
| Document | Node | LibXML::Document | doctype implementation documentElement createElement createDocumentFragment createTextNode createComment createCDATASection createProcessingInstruction createAttribute createEntityReference getElementsByTagName | importNode createElementNS createAttributeNS getElementsByTagNameNS getElementById |
| DocumentFragment | Node | LibXML::DocumentFragment |
| DocumentType | Node | LibXML::Dtd | name publicId systemId entities notations| | |
| Element | Node | LibXML::Element | attributes getAttribute setAttribute removeAttribute getAttributeNode setAttributeNode removeAttributeNode getElementsByTagName | getAttributeNS setAttributeNS removeAttributeNS getAttributeNodeNS setAttributeNodeNS getElementsByTagNameNS hasAttribute hasAttributeNS |
| Entity | Node | LibXML::Dtd::Entity | publicId systemId notationName |
| EntityReference | Node | LibXML::EntityRef |
| Implementation | | LibXML | createDocument createDocumentType hasFeature |
| NamedNodeMap | | LibXML::Attr::Map | getNamedItem setNamedItem removeNamedItem item length | getNamedItemNS setNamedItemNS removeNamedItemNS |
| Notation | Node | LibXML::Dtd::Notation | nodeName publicId systemId | N/A [1] |
| ProcessingInstruction | Node | LibXML::PI | target data |
| Text | CharacterData | LibXML::Text | splitText | | |
[1] This object is stored in a LibXML hash-table, so most DOM manipulation methods are not applicable