Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> DOMDocument i Exceptions, Dlaczego DOMDocument nie wyrzuca wyjątku
matid
post
Post #1





Grupa: Zarejestrowani
Postów: 362
Pomógł: 0
Dołączył: 18.02.2004
Skąd: Knurów

Ostrzeżenie: (0%)
-----


Mam taki kod:
  1. <?php
  2.  
  3. try
  4. {
  5. $DOM = new DOMDocument;
  6. $DOM->strictErrorChecking = true;
  7. $DOM->validateOnParse = true;
  8. $DOM->Load( 'article.xml' );
  9. $xsl = new DOMDocument;
  10. $xsl->load( 'article.xsl' );
  11. $xslproc = new XSLTProcessor;
  12. $xslproc->importStyleSheet( $xsl );
  13. $test = $xslproc->transformToDoc( $DOM );
  14. echo $test->saveXML();
  15. }
  16. catch ( Exception $e )
  17. {
  18. echo 'Exception caught: ' . $e->getMessage();
  19. }
  20.  
  21. ?>

No i wszystko jest ok, dopóki nie chce spróbować złapać wyjątku. Zmieniam kolejność elementów w dokumencie XML i wyświetla mi takie coś:
Kod
Warning: DOMDocument::load() [function.load]: Element article content does not follow the DTD, expecting (title , date , author+ , content), got (date title author content ) in /home/matid/www/Current/XML/article.xml, line: 15 in /home/matid/www/Current/XML/XML.test.php on line 8

Logicznym się wydaje, że powinno wyrzucić wyjątek, niestety tak nie jest.
Ustawienie zmiennej strictErrorChecking na true (BTW domyślnie też jest true) powinno zmusić DOM do wyrzucania DOMException.
Wie ktoś dlaczego?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 15:08