::class dom1Builder public
CLASS: domBuilder
Definition at line
2706 of
xmlDOM.cls
Instantiated by
tryxmldom.rex line 16
Feature Detail
The DOM (Level 1) implementation for building a DOM (Level 1)
NOTE - The
domImplementation is currently only used for it's
createDocument method.
Dynamically referenced by
xmlDOM.cls line 2739 "
self~dom = .xmlDomImplementation~new"
xmlDOM.cls line 2750 "
self~doc = self~dom~createDocument()"
The DOM document resulting from the XML Parser and DOM (Level 1) builder.
Dynamically referenced by
xmlDOM.cls line 2750 "
self~doc = self~dom~createDocument()"
xmlDOM.cls line 2751 "
self~nodeStack~push(self~doc)"
xmlDOM.cls line 2774 "
elementNode = self~doc~createElement(tagName)"
xmlDOM.cls line 2776 "
self~doc~documentElement = elementNode"
xmlDOM.cls line 2805 "
self~attrNode = self~doc~createAttribute(attrName)"
xmlDOM.cls line 2828 "
piNode = self~doc~createProcessingInstruction(target,data)"
xmlDOM.cls line 2840 "
cmtNode = self~doc~createComment(comment)"
xmlDOM.cls line 2851 "
txtNode = self~doc~createTextNode(text)"
xmlDOM.cls line 2862 "
cdataNode = self~doc~createCDATASection(cdata)"
xmlDOM.cls line 2981 "
return self~domBuilder~doc"
The stack of nested elements with childnodes.
NOTE - nodeStack[1] represents the current active Element node.
Dynamically referenced by
xmlDOM.cls line 2740 "
self~nodeStack = .queue~new"
xmlDOM.cls line 2751 "
self~nodeStack~push(self~doc)"
xmlDOM.cls line 2760 "
if self~nodeStack~items<>1 "
xmlDOM.cls line 2763 "
docNode = self~nodeStack~pull"
xmlDOM.cls line 2779 "
self~nodeStack[1]~appendChild(elementNode)"
xmlDOM.cls line 2780 "
self~nodeStack~push(elementNode)"
xmlDOM.cls line 2791 "
if self~nodeStack[1]~tagName<>tagName "
xmlDOM.cls line 2795 "
processedNode = self~nodeStack~pull"
xmlDOM.cls line 2816 "
self~attrNode~ownerElement = self~nodeStack[1]"
xmlDOM.cls line 2817 "
self~nodeStack[1]~setAttributeNode(self~attrNode)"
xmlDOM.cls line 2829 "
self~nodeStack[1]~appendChild(piNode)"
xmlDOM.cls line 2841 "
self~nodeStack[1]~appendChild(cmtNode)"
xmlDOM.cls line 2852 "
self~nodeStack[1]~appendChild(txtNode)"
xmlDOM.cls line 2863 "
self~nodeStack[1]~appendChild(cdataNode)"
Represents the current active Attr node
Dynamically referenced by
xmlDOM.cls line 2805 "
self~attrNode = self~doc~createAttribute(attrName)"
xmlDOM.cls line 2815 "
self~attrNode~nodeValue = attrValue"
xmlDOM.cls line 2816 "
self~attrNode~ownerElement = self~nodeStack[1]"
xmlDOM.cls line 2817 "
self~nodeStack[1]~setAttributeNode(self~attrNode)"
Flag to indicate if the convenience attribute
documentElement must be set or not.
Dynamically referenced by
xmlDOM.cls line 2741 "
self~haveDocumentElement = .false"
xmlDOM.cls line 2775 "
if (self~haveDocumentElement==.false) "
xmlDOM.cls line 2777 "
self~haveDocumentElement = .true"
DOM Builder instance constructor
NOTE - domImplementation was introduced in DOM Level2, it is used here only to create a document with no
namespace and doctype.
The method invoker wants to start a new DOM document. A DOM Level1 document is created with the help of the DOM Level2
DomImplemetation interface.
Parameters
content=.nil - Currently ignored, if present
Dynamically referenced by
xmlDOM.cls line 2917 "
self~domBuilder~startDocument"
Signals the end of DOM building process. At this stage the stack with active nodes should only have the document node
as content.
Dynamically referenced by
xmlDOM.cls line 2980 "
self~domBuilder~endDocument"
Start a new element node.
If this is the first element created, the convenience attribute
documentElement is set. The new element node is
made the currently active one after being appended as a childnode of the parentnode.
Parameters
tagName - the name of the tag for this element node.
Dynamically referenced by
xmlDOM.cls line 2961 "
self~domBuilder~startElement(tagName)"
xmlDOM.cls line 2974 "
self~domBuilder~startElement(tagName)"
Finish the currently active element node.
The previous elemnt node is made the active node, by removing this active node from the stack.
Parameters
tagName - the name of the tag of the element being ended.
Raises
syntax 93.900 - Mismatch in start and ending tag.
Dynamically referenced by
xmlDOM.cls line 2964 "
self~domBuilder~endElement(tagName)"
xmlDOM.cls line 2969 "
self~domBuilder~endElement(tagName)"
Handle an attribute's name
This will create the Attr node for the attribute, no name space checking is done.
Parameters
attrName - the name part of the current element's attribute.
Dynamically referenced by
xmlDOM.cls line 3001 "
self~domBuilder~nameAttr(attrName)"
Handle an attibute's value.
Appends this Attr node to the (perhaps empty) list of attributes. Also sets the Attr's node ownerelement.
Parameters
attrValue - the value part of the current element's attribute.
Dynamically referenced by
xmlDOM.cls line 3002 "
self~domBuilder~valueAttr(self~resolveEntities(attrValue))"
Handle a Processing Instruction (PI).
The PInode is appended as a childnode for the currently active element node.
Parameters
target - The target for the PI (e.g. 'xml' in '<?xml version=.......?>'.
data - The information following the target as a string.
Dynamically referenced by
xmlDOM.cls line 2951 "
self~domBuilder~havePI(target, data)"
Handle a Comment.
No validity checking is done on the comment's content. The comment node is appended as a childnode for the active
element node.
Parameters
comment - The string representing the comment
Dynamically referenced by
xmlDOM.cls line 2946 "
self~domBuilder~haveComment(comment)"
Handle a Text node.
The text node is appended as a childnode for the active element node.
Parameters
text - the (inner) text of the node with entities resolved.
Dynamically referenced by
xmlDOM.cls line 2938 "
self~domBuilder~haveText(self~resolveEntities(text))"
Handle CDATA.
The CDATA node is appended as a childnode for the currently active element node
Parameters
cdata - The raw (unparsed) text for the CDATASection node.
Dynamically referenced by
xmlDOM.cls line 2956 "
self~domBuilder~haveCDATA(rawText)"
|
Generated on 30 Jul 2015 13:57:00 for xmlDOM for OOrexx by
0.0.1
|