open("dtdexample.xml"); $xml->setParserProperty(XMLREADER::LOADDTD, TRUE); $xml->setParserProperty(XMLREADER::VALIDATE, TRUE); while($xml->read()) { /* Print node name indenting it based on depth and $indent var */ print str_repeat(" ", $xml->depth * $indent).$xml->name."\n"; if ($xml->hasAttributes) { $attCount = $xml->attributeCount; print str_repeat(" ", $xml->depth * $indent)." Number of Attributes: ".$xml->attributeCount."\n"; } } print "\n\nValid:\n"; var_dump($xml->isValid()); ?>