У меня большая проблема с PHP DOMDocument :: validate (), который, кажется, систематически запрашивает DTD.
Это большая проблема, когда я хочу проверить, например, документ XHTML , как описано здесь .
Поскольку кажется, что w3.org отклоняет все запросы от PHP-сервера, он
[EDIT] Вот некоторые уточнения:
/var/www/test.php:
createDocumentType
(
'html', // qualifiedName
'-//W3C//DTD XHTML 1.0 Transitional//EN', // publicId
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-'
.'transitional.dtd' // systemId
);
$document = $implementation->createDocument('', '', $dtd);
$document->validate();
[ http: //] 127.0.0.1/test.php :
Warning: DOMDocument::validate(http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd): failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden
in /var/www/test.php on line 14
Warning: DOMDocument::validate(): I/O warning : failed to load external entity "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" in /var/www/test.php on line 14
Warning: DOMDocument::validate(): Could not load the external subset "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" in /var/www/test.php on line 14
Связанный вопрос: