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 ::xml::parser {args} { variable ParserCounter if {[llength $args] > 0} { set name [lindex $args 0] set args [lreplace $args 0 0] } else { set name parser[incr ParserCounter] } if {[namespace which [namespace current]::$name] ne {}} { return -code error "unable to create parser object \"[namespace current]::$name\" command" } # Initialise state variable and object command upvar \#0 [namespace current]::$name parser set sgml_ns [namespace parent]::sgml array set parser [list name $name -final 1 -elementstartcommand ${sgml_ns}::noop -elementendcommand ${sgml_ns}::noop -characterdatacommand ${sgml_ns}::noop -processinginstructioncommand ${sgml_ns}::noop -externalentityrefcommand ${sgml_ns}::noop -xmldeclcommand ${sgml_ns}::noop -doctypecommand ${sgml_ns}::noop -warningcommand ${sgml_ns}::noop -statevariable [namespace current]::$name -reportempty 0 internaldtd {} ] proc [namespace current]::$name {method args} "eval ParseCommand $name \$method \$args" eval ParseCommand [list $name] configure $args return [namespace current]::$name }