eclipxe / xmlresourceretriever
本地存储的XSD和XLST资源下载器
v2.0.2
2024-03-08 23:12 UTC
Requires
- php: >=7.3
- ext-dom: *
- ext-fileinfo: *
- ext-filter: *
Requires (Dev)
- phpunit/phpunit: ^9.5
README
本地存储的XSD和XLST资源下载器
此库的目的是从互联网递归下载XML资源到本地存储以供进一步使用。目前它只允许Schema(XSL)和转换(XSLT),但易于通过实现RetrieverInterface
接口或扩展AbstractXmlRetriever
类来扩展。
对于每个下载的文件,它将覆盖其依赖项到相对位置,这样,每个依赖项都应可用于离线工作。
您可以使用本地对象PhpDownloader
,它简单地使用copy
函数从互联网获取和存储文件。您还可以根据自己的需求实现自己的DownloaderInterface
。如果您构建了一个可配置且有用的下载类,请随时将其贡献给此项目。
安装
使用 composer,请运行
composer require eclipxe/xmlresourceretriever
基本用法
<?php declare(strict_types=1); /* * This will download the file into * /project/cache/www.sat.gob.mx/sitio_internet/cfd/3/cadenaoriginal_3_3/cadenaoriginal_3_3.xslt * and all its includes and imports (currently 27 files) */ use Eclipxe\XmlResourceRetriever\XsltRetriever; $xslt = new XsltRetriever('/project/cache'); $local = $xslt->retrieve('http://www.sat.gob.mx/sitio_internet/cfd/3/cadenaoriginal_3_3/cadenaoriginal_3_3.xslt'); echo $local; /* /project/cache/www.sat.gob.mx/sitio_internet/cfd/3/cadenaoriginal_3_3/cadenaoriginal_3_3.xslt */
检索更多信息
这些方法适用于XslRetriever
和XsltRetriever
retrieve($url)
递归下载URL并存储到检索器基本路径,它更改包含对其他文件引用的子元素。download($url)
下载URL并将其存储到检索器基本路径。它不验证文件是否有XML错误。它不下载依赖项。buildPath($url)
返回文件应存储的位置,根据基本路径。setDownloader($downloader)
将默认的PhpDownloader
更改为自定义实现。
XsdRetriever
搜索命名空间 http://www.w3.org/2001/XMLSchema
中的元素 import
和 include
。
XsltRetriever
搜索命名空间 http://www.w3.org/1999/XSL/Transform
中的元素 import
和 include
。
PHP支持
此库与最新的PHP支持版本和更高版本兼容。请尝试充分利用语言的功能。
贡献
欢迎贡献!请阅读CONTRIBUTING以获取详细信息,并不要忘记查看TODO和CHANGELOG文件。
版权和许可证
Eclipxe\XmlResourceRetriever
库版权所有© Carlos C Soto,并根据MIT许可证(MIT)许可使用。请参阅LICENSE以获取更多信息。