I need to validate some xml-files with xsd files in a php application. The problem I'm having is when I use domdocument or xmlreader, I keep getting a blank page (ERR_EMPTY_RESPONSE) when executing schema validation. I get no errors at all.
$reader = new XMLReader();
$reader->open("../xml/testxml.xml");
echo $reader->setSchema("../xml/validation.xsd") ? 'valid' : 'invalid';
$doc = new DOMDocument();
$doc->load("../xml/testxml.xml");
echo $doc->schemaValidate("../xml/validation.xsd") ? 'valid' : 'invalid';
Both files & paths of the xml/xsd exists. The php version is 5.3.1 & libxml2 version is 2.7.3 and I'm working in an OSX environment.
UPDATE: WORKAROUND
I have found a way to get it working. Instead of using load($path) & schemaValidate($path), I have used loadXml($string) & schemaValidateSource($string). So instead of giving the file path in the load function I load the content manually via file_get_contents() and give it to the loadXml function. Same for the xsd file.
libxml_use_internal_errors(true);
$doc = new DOMDocument();
$doc->loadXml(file_get_contents("../xml/testxml.xml"));
echo $doc->schemaValidateSource(file_get_contents("../xml/validation.xsd")) ? 'valid' : 'invalid';