14.15 XML-Dokumente validieren

Problem

Sie möchten sicherstellen, dass Ihr XML-Dokument einem Schema wie von XML Schema, einem RelaxNG-Schema oder einer DTD genügt.

Lösung

Nutzen Sie die DOM-Erweiterung.

Rufen Sie für bestehende DOM-Objekte DOMDocument::schemaValidate( ) oder DOMDocument::relaxNGValidate( ) auf:

$file = 'address-book.xml';
$schema = 'address-book.xsd';
$ab = new DOMDocument;
$ab->load($file);
if ($ab->schemaValidate($schema)) {
    print "$file ist gültig.";
} else {
    print "$file ist ungültig.";
}

Wenn Ihr XML-Dokument eine Dokumenttyp-Deklaration enthält, rufen Sie DOMDocument::validate( ) auf, um es anhand der DTD zu prüfen.

Bei XML in einem String rufen Sie DOMDocument::schemaValidateSource( ) oder DOMDocument::relaxNGValidateSource( ...

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.