XsdValidationError.php 791 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. namespace NavOnlineInvoice;
  3. use Exception;
  4. class XsdValidationError extends Exception {
  5. protected $errors;
  6. protected static $levelMap = array(
  7. LIBXML_ERR_WARNING => "Warning",
  8. LIBXML_ERR_ERROR => "Error",
  9. LIBXML_ERR_FATAL => "Fatal Error"
  10. );
  11. function __construct($errors) {
  12. $this->errors = $errors;
  13. $message = $this->createErrorMessage();
  14. parent::__construct($message);
  15. }
  16. public function getErrors() {
  17. return $this->errors;
  18. }
  19. protected function createErrorMessage() {
  20. $messages = array();
  21. foreach ($this->errors as $error) {
  22. $messages[] = self::$levelMap[$error->level] . ": " . $error->message;
  23. }
  24. return implode("\n", $messages);
  25. }
  26. }