Releases: sabre-io/xml
Releases · sabre-io/xml
2.0.2
2.0.1
2.1.0
2.0.0
1.5.0
1.4.2
- The
contextStackin the Reader object is now correctly rolled back in
error conditions (@staabm). - repeatingElements deserializer now still parses if a bare element name
without clark notation was given. $elementMapin the Reader now also supports bare element names.Service::expect()can now also work with bare element names.
1.4.1
- Parsing clark-notation is now cached. This can speed up parsing large
documents with lots of repeating elements a fair bit. (@icewind1991).
1.4.0
- Any array thrown into the serializer with numeric keys is now simply
traversed and each individual item is serialized. This fixes an issue
related to serializing value objects with array children. - When serializing value objects, properties that have a null value or an
empty array are now skipped. We believe this to be the saner default, but
does constitute a BC break for those depending on this. - Serializing array properties in value objects was broken.
1.3.0
- The
Serviceclass adds a newmapValueObjectmethod which provides basic
capabilities to map between ValueObjects and XML. - #61: You can now specify serializers for specific classes, allowing you
separate the object you want to serialize from the serializer. This uses the
$classMapproperty which is defined on both theServiceandWriter. - It's now possible to pass an array of possible root elements to
Sabre\Xml\Service::expect(). - Moved some parsing logic to
Reader::getDeserializerForElementName(),
so people with more advanced use-cases can implement their own logic there. - #63: When serializing elements using arrays, the
valuekey in the array is
now optional. - #62: Added a
keyValuedeserializer function. This can be used instead of
theElement\KeyValueclass and is a lot more flexible. (@staabm) - Also added an
enumdeserializer function to replace
Element\Elements. - Using an empty string for a namespace prefix now has the same effect as
null.