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
contextStack
in 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. $elementMap
in 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
Service
class adds a newmapValueObject
method 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
$classMap
property which is defined on both theService
andWriter
. - 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
value
key in the array is
now optional. - #62: Added a
keyValue
deserializer function. This can be used instead of
theElement\KeyValue
class and is a lot more flexible. (@staabm) - Also added an
enum
deserializer function to replace
Element\Elements
. - Using an empty string for a namespace prefix now has the same effect as
null
.