From: Steve B. <Ste...@zv...> - 2003-01-27 01:56:58
|
Thomas Maeder wrote: > I am using TclXML 2.5 on Tcl 8.3.5 / tcllib 1.3. > > It seems that neither the Tcl only XML parser nor the expat parser recognize > the -xmldeclcommand configuration option. The Tcl parser does recognise it (I ran my own tests), see below. > Running this script > > puts "package loaded: [package require xml]" > > set input { > {<?xml version="1.0" encoding="ISO-8859-1"?>} > {<foo>} > {</foo>} > } > > proc declcmd {version encoding standalone} { > puts "decl: version $version encoding $encoding standalone $standalone" > } > > proc defcmd {event} { > puts "def: $event" > } > > puts "registered parsers: [::xml::parserclass info names]\n" > > set parser [::xml::parser expat] That should be: set parser [::xml::parser -parser expat] > $parser configure -xmldeclcommand declcmd > $parser configure -defaultcommand defcmd > $parser parse [join $input \n] > $parser free > > set parser [::xml::parser tcl] and similarly: set parser [::xml::parser -parser tcl] > $parser configure -xmldeclcommand declcmd > $parser configure -defaultcommand defcmd > $parser parse [join $input \n] > $parser free > > > writes > > package loaded: 2.5 > registered parsers: expat tcl > > def: <?xml version="1.0" encoding="ISO-8859-1"?> > def: > > def: <?xml version="1.0" encoding="ISO-8859-1"?> > def: > > > I'd have expected declcmd to be called, though. With the change above, it is called using the Tcl parser. However, it is not called using expat. Please submit a bug report on SourceForge. Cheers, Steve Ball -- Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |