bkon / sisyphus
此软件包最新版本(dev-master)没有提供许可证信息。
PHP 实现了规范 XML 和独占 XML 规范化标准
dev-master
2014-05-01 22:18 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: 4.0.*
This package is not auto-updated.
Last update: 2024-10-01 03:30:00 UTC
README
Sisyphus::C14N
此库提供了以下标准的纯 PHP 实现
- 规范 XML 版本 1.0 (http://www.w3.org/TR/xml-c14n)
- 独占 XML 规范化版本 1.0 (http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/)
用例
如果您需要在旧版 PHP 版本(PHP 5.1.x)上执行 XML 规范化,请考虑使用此库。如果您使用的是 PHP 5.2+,您已经可以通过 DOMNode::C14n() 获得基于 libxml 的规范化功能。
以 PHP 5.1 为目标平台意味着我们没有访问诸如命名空间、lambda 或 composer 这样的美好功能。如果您觉得这段代码看起来过时,请不要责怪我。 :)
请注意,当您通过将 Sisyphus_C14n_Legacy 替换为 Sisyphus_C14n_Libxml 来升级基础设施时,可以轻松地将纯 PHP 实现迁移到基于 Lixml 的实现。
依赖项
运行时:PHP 5.1
开发:ant, phpunit, phpmd, phpcs, hhvm 和 hhvm-wrapper, phpcpd, phpdoc。
PHP 5.3+
如果您使用的是 PHP 5.2+,您不需要此软件包,但它仍然作为 composer 软件包提供。
composer install
基本用法
$service = new Sisyphus_C14n_Legacy();
$service
->withComments(false)
->exclusive(true)
->query('//n1:element')
->namespaces(array('n1' => 'http://n1.example.com'))
->inclusiveNamespaces(array('n1'));
$outputString = $service->canonicalize($xmlDocument)