<?php
ini_set('error_reporting',PHP_INT_MAX-1);
$xml=<<<EOF
<?xml version="1.0"?>
<test/>
EOF;
$xsd=<<<EOF
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="nonexistent.xsd"/>
<xs:element name="test"/>
</xs:schema>
EOF;
libxml_set_external_entity_loader(function($p,$s,$c) {
var_dump($p,$s,$c);
die();
});
$dom=new DOMDocument($xml);
var_dump($dom->schemaValidateSource($xsd));
- Output for 5.6.0 - 5.6.40, 7.1.22 - 7.1.33, 7.2.10 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
- NULL
string(15) "nonexistent.xsd"
array(4) {
["directory"]=>
NULL
["intSubName"]=>
NULL
["extSubURI"]=>
NULL
["extSubSystem"]=>
NULL
}
- Output for 7.0.0 - 7.0.33, 7.1.0 - 7.1.21, 7.2.0 - 7.2.9
- Notice: Undefined variable: p in /in/9endu on line 17
NULL
string(15) "nonexistent.xsd"
array(4) {
["directory"]=>
NULL
["intSubName"]=>
NULL
["extSubURI"]=>
NULL
["extSubSystem"]=>
NULL
}
preferences:
123.4 ms | 408 KiB | 5 Q