veewee / xml
XML without worries
Fund package maintenance!
Requires
- php: ~8.4.0 || ~8.5.0
- ext-dom: *
- ext-libxml: *
- ext-xml: *
- ext-xmlreader: *
- ext-xmlwriter: *
- ext-xsl: *
- php-standard-library/dict: ^6.1
- php-standard-library/file: ^6.1
- php-standard-library/foundation: ^6.1
- php-standard-library/fun: ^6.1
- php-standard-library/iter: ^6.1
- php-standard-library/math: ^6.1
- php-standard-library/regex: ^6.1
- php-standard-library/result: ^6.1
- php-standard-library/str: ^6.1
- php-standard-library/type: ^6.1
- php-standard-library/vec: ^6.1
- webmozart/assert: ^1.10 || ~2.0
Requires (Dev)
- infection/infection: ^0.31
- php-cs-fixer/shim: ~3.88
- php-standard-library/collection: ^6.1
- php-standard-library/filesystem: ^6.1
- php-standard-library/os: ^6.1
- php-standard-library/psalm-plugin: ^2.2
- phpunit/phpunit: ~12.3
- symfony/finder: ^7.1
- veewee/composer-run-parallel: ^1.0.0
- vimeo/psalm: ~6.13
This package is auto-updated.
Last update: 2026-05-18 04:38:49 UTC
README
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: Operate on XML documents through the DOM API.
- Encoding: Provides
xml_encode()andxml_decode()so that you can deal with XML just like you deal with JSON! - ErrorHandling: Provides the tools you need to safely deal with XML.
- Reader: Memory-safe XML reader.
- Writer: Memory-safe XML writer.
- XSD: Tools for working with XSD schemas.
- XSLT: Transform XML documents into something else.
Spec compliance
Starting from v4, this package opt's-in to the spec compliance mode 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, 8.5 | 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: 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(prefer saxon/c)
About
Submitting bugs and feature requests
Bugs and feature request are tracked on GitHub. Please take a look at our rules before contributing your code.
License
veewee/xml is licensed under the MIT License.