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
|