A simple PHP XML validator for validate large XML files.
To install this library, use Composer:
composer require mihas2/xml_validator
Here's an example of how to use the XML validator:
use mihas2\XmlValidator\XmlValidator;
$xmlFile = 'path/to/your/xml/file.xml';
$xmlFileValidator = new XmlValidator($xmlFile);
if ($xmlFileValidator->validate()) {
echo "XML file is valid.";
} else {
foreach ($xmlFileValidator->getErrors() as $error) {
printf("Line: %d, Column: %d, Message: %s\n", $error->lineNumber, $error->columnNumber, $error->message);
}
}
use mihas2\XmlValidator\XmlValidator;
$xmlUrl = 'https://www.yourdomain.com/validateme.xml';
$xmlUrlValidator = new XmlValidator($xmlUrl);
if ($xmlUrlValidator->validate()) {
echo "XML file is valid.";
} else {
foreach ($xmlUrlValidator->getErrors() as $error) {
printf("Line: %d, Column: %d, Message: %s\n", $error->lineNumber, $error->columnNumber, $error->message);
}
}
You can configure the XML validator with these options:
$xmlFile
(required): The path to your XML file.$verifyPeer
(optional, defaultfalse
): Set to true to verify the SSL/TLS certificate of the remote schema location.$verifyPeerName
(optional, defaultfalse
): Set to true to verify that the hostname matches the certificate's subject.$maxDepth
(optional, default10000
): The maximum depth for XML elements during validation.$xmlFlags
(optional, defaultLIBXML_BIGLINES | LIBXML_PARSEHUGE
): Additional flags to configure the libxml library's behavior.
To run tests, execute this command:
composer test
Not implemented yet
We welcome contributions! Please submit a pull request with your proposed changes and describe what they do in detail.
This project is licensed under the MIT License - see the LICENSE file for details.