Tcl package, [XML] DTD validation extension to [tDOM]. Usage example contributed by [RS]: ====== package require tnc ;# implies tdom #---------------------------------------- modified from expat man page proc externalEntityRefHandler {base systemId publicId} { if {![regexp {^[/a-zA-Z]+:/} $systemId]} { regsub {^[/a-zA-Z]+:} $base {} base set basedir [file dirname $base] set systemId "[set basedir]/[set systemId]" } regsub {^[/a-zA-Z]+:} $systemId "" systemId set fd [open $systemId] list channel $systemId $fd } set parser [expat -externalentitycommand externalEntityRefHandler\ -baseurl "file://[file join [pwd] $file]" \ -paramentityparsing always] tnc $parser enable foreach file [glob $argv] { if [file readable $file] { catch {$parser parsefile $file} res if {$res==""} {set res ok} puts $file:$res $parser reset } } $parser free ====== ---- The ''externalEntityRefHandler'' is freely configurable by the user. From tDOM 0.7.5, a convenience proc will be included in the release (planned for mid November 2002). ---- !!!!!! %|[Category Package]|% !!!!!!