vrbata / xml-validator
Validates your XML against a xsd schema.
Installs: 311 282
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 7
pkg:composer/vrbata/xml-validator
Requires
- php: >=7.2.0
Requires (Dev)
- phpunit/phpunit: ^7.0
This package is not auto-updated.
Last update: 2025-10-03 05:12:00 UTC
README
Validate Xml against a xsd schema.
Installation
Library
$ git clone https://github.com/vrbata/XmlValidator.git
Composer
$ composer require vrbata/xml-validator:dev-master
Usage
<?php require "./vendor/autoload.php"; use XmlValidator\XmlValidator; $xml = "<sample>my xml string</sample>"; $xsd = "path_to_xsd.xsd"; // Validate based on xsd file $xmlValidator = new XmlValidator($xml, $xsd, XsdSource::FILE); try{ $xmlValidator->validate($xml,$xsd); // Check if is valid if(!$xmlValidator->isValid()){ // Do whatever with the errors. foreach ($xmlValidator->errors as $error) { /*echo sprintf('[%s %s] %s (in %s - line %d, column %d)', $error->level, $error->code, $error->message, $error->file, $error->line, $error->column ); */ } } } catch (\InvalidArgumentException $e){ // catch InvalidArgumentException } // Validate based on xsd as string $xmlValidator = new XmlValidator($xml, $xsd, XsdSource::STRING); try{ $xmlValidator->validate($xml,$xsd); // Check if is valid if(!$xmlValidator->isValid()){ // Do whatever with the errors. foreach ($xmlValidator->errors as $error) { /*echo sprintf('[%s %s] %s (in %s - line %d, column %d)', $error->level, $error->code, $error->message, $error->file, $error->line, $error->column ); */ } } } catch (\InvalidArgumentException $e){ // catch InvalidArgumentException }
Based on XmlUtils from Symfony config component.