मैं PHP DOMDocument साथ एक बड़ी समस्या :: सत्यापित करें() जो DTD व्यवस्थित पूछने के लिए लगता है की है।DOMDocument :: सत्यापित करें() समस्या
जब मैं मान्य करने के लिए whant यह एक बड़ी समस्या है, उदाहरण के लिए, एक XHTML दस्तावेज़ as explained here।
w3.org के रूप में, एक PHP सर्वर से सभी अनुरोध को अस्वीकार कर रहा है यह इस विधि के साथ अपने दस्तावेज़ मान्य करने के लिए असंभव है ...
वहाँ उस के लिए किसी भी समाधान है?
/var/www/test.php:
<?php
$implementation = new DOMImplementation();
$dtd = $implementation->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();
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
संबंधित
अग्रिम
[संपादित करें] यहां से धन्यवाद कुछ precisions है प्रश्न:
सुनिश्चित नहीं हैं कि आपकी समस्या है। 'DOMDocument :: validate' लोड किए गए दस्तावेज़ के डीटीडी के आधार पर दस्तावेज़ को मान्य करता है। – Gordon
उदाहरण के लिए, अगर मैं इस DTD प्रदान करते हैं: http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd, जब मैं DOMDocument :: सत्यापित करें() कहते हैं, PHP फ़ाइल प्राप्त करने के लिए एक अनुरोध भेज , लेकिन w3.org के एक 403 निषिद्ध या एक 503 सेवा अनुपलब्ध के साथ योजनाबद्ध तरीके से जवाब देते हैं, और PHP मुझे चेतावनी भी भेज: बाहरी संस्था "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional लोड करने में विफल। डीटी " –
मैं देखता हूं, हाँ। एक बग इसके लिए खुला है: http://bugs.php.net/bug.php?id=48080 – Gordon