This procedure is defined in the server but not documented via ad_proc or proc_doc and may be intended as a private interface.

The procedure is defined as:

proc dom::Element:Normalize {pVar nodes} {
    
    upvar $pVar parent

    set textNode {}

    foreach n $nodes {
	GetHandle node $n child
	set cleanup {}

	switch -- $child(node:nodeType) {
	    textNode {
		if {[llength $textNode]} {
		    # Coalesce into previous node
		    append text(node:nodeValue) $child(node:nodeValue)
		    # Remove this child
		    upvar #0 $parent(node:childNodes) childNodes
		    set idx [lsearch $childNodes $n]
		    set childNodes [lreplace $childNodes $idx $idx]
		    unset $n
		    set cleanup {}

		    PutHandle $textNode text
		} else {
		    set textNode $n
		    unset -nocomplain text
		    array set text [array get child]
		}
	    }
	    element -
	    document -
	    documentFragment {
		set textNode {}
		Element:Normalize child [set $child(node:childNodes)]
	    }
	    default {
		set textNode {}
	    }
	}

	eval $cleanup
    }

    return {}

}

Show another procedure: