Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/libxml-raku/w3c-dom-raku

Abstract W3C DOM Level 2 interface roles
https://github.com/libxml-raku/w3c-dom-raku

Last synced: about 2 months ago
JSON representation

Abstract W3C DOM Level 2 interface roles

Awesome Lists containing this project

README

        

W3C::DOM
---

Synopsis
----

```raku
use W3C::DOM;
sub make-dom-sandwhich(W3C::DOM::Implementation $impl) {
my W3C::DOM::Document:D $doc = $impl.createDocument(Str, 'sandwhich', W3C::DOM::DocumentType);
given $doc.documentElement {
for -> $ingredient {
.appendChild: $doc.createElement($ingredient);
}
}
return $doc;
}

# LibXML implements
use LibXML;
my W3C::DOM::Document $snack = make-dom-sandwhich(LibXML);
```

This module contains informal interface roles for [W3C Level 2 Core DOM](https://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html).
It is [used by LibXML](https://libxml-raku.github.io/LibXML-raku/DOM) to assert basic coverage of the required DOM objects and methods.

Roles/methods in this module

DOM Role | DOM Parent | L1 Methods | L2 Methods
-----------|--------|---------------|------------
W3C::DOM::Node | | nodeName nodeValue parentNode childNodes firstChild lastChild previousSibling nextSibling ownerDocument insertBefore replaceChild removeChild appendChild hasChildNodes cloneNode | normalize isSupported namespaceURI prefix localName hasAttributes |
W3C::DOM::CharacterData | W3C::DOM::Node | data length substringData appendData insertData deleteData replaceData
W3C::DOM::Attr | W3C::DOM::Node | name value specified| ownerElement
W3C::DOM::CDATASection | W3C::DOM::Text |
W3C::DOM::Comment | W3C::DOM::CharacterData |
W3C::DOM::Document | W3C::DOM::Node | doctype implementation documentElement createElement createDocumentFragment createTextNode createComment createCDATASection createProcessingInstruction createAttribute createEntityReference getElementsByTagName | importNode createElementNS createAttributeNS getElementsByTagNameNS getElementById
W3C::DOM::DocumentFragment | W3C::DOM::Node |
W3C::DOM::DocumentType | W3C::DOM::Node | name publicId systemId entities notations
W3C::DOM::Element | W3C::DOM::Node | attributes getAttribute setAttribute removeAttribute getAttributeNode setAttributeNode removeAttributeNode getElementsByTagName | getAttributeNS setAttributeNS removeAttributeNS getAttributeNodeNS setAttributeNodeNS getElementsByTagNameNS hasAttribute hasAttributeNS
W3C::DOM::Entity | W3C::DOM::Node | publicId systemId notationName
W3C::DOM::EntityReference | W3C::DOM::Node
W3C::DOM::Implementation | | createDocument createDocumentType hasFeature
W3C::DOM::NamedNodeMap | | getNamedItem setNamedItem removeNamedItem item length | getNamedItemNS setNamedItemNS removeNamedItemNS
W3C::DOM::Notation | W3C::DOM::Node | publicId systemId
W3C::DOM::ProcessingInstruction | W3C::DOM::Node | target data
W3C::DOM::Text | W3C::DOM::CharacterData | splitText

See Also
-----

[LibXML](https://libxml-raku.github.io/LibXML-raku/) which [consumes these roles](https://libxml-raku.github.io/LibXML-raku/DOM)