1. If you validate against relax-ng, no need to call $xml->setParserProperty(XMLReader::VALIDATE, true);2. Be aware that $xml->isValid() will return validity for currently active node (ie. node currently positioned using $xml->read()). It won't check validity of your entire tree at once, but rather on a step by step basis