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 } foreach file [glob $argv] { if [file readable $file] { set parser [expat -externalentitycommand externalEntityRefHandler\ -baseurl "file://[file join [pwd] $file]" \ -paramentityparsing notstandalone ] tnc $parser enable catch {$parser parsefile $file} res if {$res==""} {set res ok} puts $file:$res } } ---- 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]