eustasy/.normal

View on GitHub
check-xml.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php

function isXml($filename) {
    $xml = new XMLReader();
    $xml->open($filename);
    $xml->setParserProperty(XMLReader::VALIDATE, true);
    return $xml->isValid();
}

require_once __DIR__.'/function.glob_recursive.php';
$xml_files = glob_recursive(__DIR__.'/../*.xml');
$result['invalid_files'] = array();
$result['valid_files']   = array();

foreach ( $xml_files as $filename ) {
    // Validate
    if ( isXml($filename) ) {
        $result['valid_files'][] = $filename;
    } else {
        $result['invalid_files'][] = $filename;
    }
}

var_dump($result);

if ( !empty($result['invalid_files']) ) {
    // That's an error
    exit(1);
}