Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/veewee/xml
XML without worries
https://github.com/veewee/xml
array-to-xml decode dom dom-manipulation encode hacktoberfest reader writer xml xml-to-array xpath xsd xslt
Last synced: 1 day ago
JSON representation
XML without worries
- Host: GitHub
- URL: https://github.com/veewee/xml
- Owner: veewee
- License: mit
- Created: 2021-01-14T19:00:42.000Z (about 4 years ago)
- Default Branch: 4.x
- Last Pushed: 2025-01-24T12:30:11.000Z (9 days ago)
- Last Synced: 2025-01-24T21:03:25.646Z (8 days ago)
- Topics: array-to-xml, decode, dom, dom-manipulation, encode, hacktoberfest, reader, writer, xml, xml-to-array, xpath, xsd, xslt
- Language: PHP
- Homepage:
- Size: 13.2 MB
- Stars: 177
- Watchers: 5
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# <XML />
*XML without worries*
This package aims to provide all tools for dealing with XML in PHP without worries.
You will find a type-safe, declarative API that deals with errors for you!## Installation
```
composer require veewee/xml
```## Components
* [DOM](docs/dom.md): Operate on XML documents through the DOM API.
* [Encoding](docs/encoding.md): Provides `xml_encode()` and `xml_decode()` so that you can deal with XML just like you deal with JSON!
* [ErrorHandling](docs/error-handling.md): Provides the tools you need to safely deal with XML.
* [Reader](docs/reader.md): Memory-safe XML reader.
* [Writer](docs/writer.md): Memory-safe XML writer.
* [XSD](docs/xsd.md): Tools for working with XSD schemas.
* [XSLT](docs/xslt.md): Transform XML documents into something else.## Spec compliance
Starting from v4, this package opt's-in to the [spec compliance mode](https://wiki.php.net/rfc/opt_in_dom_spec_compliance) that has been released in PHP 8.4.
Since these changes cannot be ported to older PHP versions, v3 of this package will be maintained actively for a longer period.
This will give you a grace period to upgrade your PHP versions, packages, ...
This little bump in the road is necessary to provide you with a better, more stable and spec-compliant package in the future.Support table:
| veewee/xml | PHP | LTS |
|------------|---------------|-----|
| 3.0 - 3.1 | 8.1, 8.2, 8.3 | NO |
| 3.2 | 8.2, 8.3 | NO |
| 3.3+ | 8.2, 8.3, 8.4 | YES |
| 4.0+ | 8.4+ | YES |## Roadmap
These components are not implemented yet, but have been thought about.
Stay tuned if you want to use these!* External: [Saxon/C](https://www.saxonica.com/saxon-c/php_api.xml): XSLT 3.0/2.0, XQuery 3.1, XPath 3.1 and Schema Validation 1.0/1.1
* Awaiting PHP8 support: https://saxonica.plan.io/issues/4842
* ~~External: [XSLT2](https://github.com/genkgo/xsl)~~ (prefer saxon/c)## About
### Submitting bugs and feature requests
Bugs and feature request are tracked on [GitHub](https://github.com/veewee/xml/issues).
Please take a look at our rules before [contributing your code](CONTRIBUTING.md).### License
veewee/xml is licensed under the [MIT License](LICENSE).