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::CreateDocType {token name extid dtd entities notations} {
array set doc [set $token]
upvar #0 $doc(docArray) docArray
set id node[incr docArray(counter)]
set child $doc(docArray)($id)
set docArray($id) [list id $id docArray $doc(docArray) node:parentNode $token node:childNodes {} node:nodeType docType node:nodeName {} node:nodeValue {} doctype:name $name doctype:entities {} doctype:notations {} doctype:externalid $extid doctype:internaldtd $dtd ]
# NB. externalid and internaldtd are not standard DOM 1.0 attributes
# Update parent
set doc(document:doctype) $child
# Add this node to the parent's child list
# This must come before the document element,
# so this implementation may be buggy
lappend $doc(node:childNodes) $child
set $token [array get doc]
return $child
}