Update SIXX to use latest stable XMLParser #4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I have kindly asked Martin if he could implement that.
Below is his original answer to me:
=========
This should work (same test results as before), though the character and string formats have changed a little, so you might not be able to read existing serialized objects. The old format Dale chose for encoding non-byte chars violated the XML spec. And I removed the #encodeAsUTF8 stuff. This needs to be done at the entity level (ie, document-wide), not at the element level.
SIXX should now handle decoding automatically when reading, but don't use encodings other than UTF-8, since SIXX generates xml declarations with 'encoding="utf-8"' attributes.
To encode SIXX output, you need to wrap the write stream you're using with an XMLEncodingWriteStreamAdapter and a XMLStreamConverter. The latest XMLParser has an #encodingOn: convenience method for this:
same thing:
GsFiles are supported too.
Update the ConfigurationOf to depend on #stable smalltalkhub.com PharoExtras/XMLParser.
========
I very much agree with what he did. And even if it might break materialization of existing files, I believe its totally worth. Until now, SIXX was using an INCREDIBLE OLD GemStone-specific XMLSupport package that nobody maintained. XML has evolved other the years and Pharo code is a million years ahead. With these changes, SIXX can now use the Pharo's up to date XMLParser, which is super cool.