goetas-webservices/xsd-reader
Reads XML Schema (XSD) documents into a clean PHP object model, handling includes, imports, simple and complex types, and namespaces. A lightweight foundation for WSDL readers, SOAP clients, and code generators.
Architecture fit
Schema, Element, ComplexType, SimpleType, Attribute, Group) that our own code must interpret. Budget for an adapter layer, not a drop-in install.wsdl-reader, and by extension xsd2php-style code generation) is the reason to pick this over rolling our own DOM traversal.Integration feasibility
composer require, then instantiate the reader directly. The API surface is small and the object model is traversable, so a thin SchemaRegistry/XsdParser service bound as a singleton is enough to make it idiomatic in Laravel.Technical risk
xs:any), xs:choice nesting, and derivation/extension chains in the schemas we actually care about. Assume XSD 1.0 semantics; if a partner publishes 1.1, we need a fallback.Key questions
Stack fit
SchemaRepository service (container-bound, interface-backed) that owns parsing, resolution policy, and caching. Nothing else in the codebase should touch the library's classes directly — that keeps the fork/replace option open.Migration path
ext-soap in WSDL mode: this is not a like-for-like replacement. ext-soap does transport and marshalling; this reads schema metadata. The realistic path is to keep ext-soap for calls and add this only where we need to inspect or generate from contracts.Compatibility
composer.json and commit the lock. Verify PHP version support against our matrix and check transitive dependency overlap with the rest of the app (notably anything already pulling in libxml/DOM utilities).Sequencing
Maintenance
Support
Scaling
Failure modes
Ramp-up
How can I help you explore Laravel packages today?