greenter/ubl-validator

OASIS通用商业语言Schema验证器 UBL v2.0, UBL v2.1

v2.2.0 2022-12-19 17:10 UTC

This package is auto-updated.

Last update: 2024-09-19 20:48:47 UTC


README

Github Actions Coverage Status Codacy Badge Mutation Badge
OASIS通用商业语言(UBL)Schema验证器。

安装

通过从packagist.org使用Composer进行安装。

composer require greenter/ubl-validator

示例

简单用法。

use Greenter\Ubl\UblValidator;

$xml = file_get_contents('20000000001-01-F001-1.xml');

$validator = new UblValidator();

if ($validator->isValid($xml)) {
  echo 'Success!!!';
} else {
  echo $validator->getError();
}

上述示例遵循以下步骤

  • 解析 <cbc:UBLVersionID>
  • 基础目录中找到 XSD 文件
  • 运行 schemaValidate 并获取结果

更改UBL XSD目录

此包不包括所有UBL xsd,但您可以添加其他xsd目录并使用其他UBL版本。

use Greenter\Ubl\UblValidator;
use Greenter\Ubl\Resolver\UblPathResolver;

$ubl = new UblValidator();
$ubl->pathResolver = new UblPathResolver();
$ubl->pathResolver->baseDirectory = './my-ubl-xsd';

echo $ubl->isValid('<Invoice ...>');

/my-ubl-xsd目录遵循以下结构

\my-ubl-xsd
│
├─2.1/
│   ├─ common/
│   └─ maindoc/
│
├─2.2/
│   ├─ common/
│   └─ maindoc/

您可以从oasis-open下载UBL xsd