eclipxe/xmlresourceretriever

本地存储的XSD和XLST资源下载器

v2.0.2 2024-03-08 23:12 UTC

This package is auto-updated.

Last update: 2024-09-09 19:02:26 UTC


README

Source Code Packagist PHP Version Support Latest Version Software License Build Status Scrutinizer Coverage Status Total Downloads

本地存储的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 */

检索更多信息

这些方法适用于XslRetrieverXsltRetriever

  • retrieve($url) 递归下载URL并存储到检索器基本路径,它更改包含对其他文件引用的子元素。
  • download($url) 下载URL并将其存储到检索器基本路径。它不验证文件是否有XML错误。它不下载依赖项。
  • buildPath($url) 返回文件应存储的位置,根据基本路径。
  • setDownloader($downloader) 将默认的PhpDownloader更改为自定义实现。

XsdRetriever 搜索命名空间 http://www.w3.org/2001/XMLSchema 中的元素 importinclude

XsltRetriever 搜索命名空间 http://www.w3.org/1999/XSL/Transform 中的元素 importinclude

PHP支持

此库与最新的PHP支持版本和更高版本兼容。请尝试充分利用语言的功能。

贡献

欢迎贡献!请阅读CONTRIBUTING以获取详细信息,并不要忘记查看TODOCHANGELOG文件。

版权和许可证

Eclipxe\XmlResourceRetriever库版权所有© Carlos C Soto,并根据MIT许可证(MIT)许可使用。请参阅LICENSE以获取更多信息。