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: