EasyML defines a data-oriented XML format meant for serialization. Each per-language implementation contains the needed serialization components for the DTD basic types. In addition, each implementation can also extend the DTD with language-specific types. Non-DTD types could be even sent between different languages if they are defined for both sides.
Example: In the Java implementation, XMLReaders and XMLWriters by default only supports the DTD types, but can be manually or automatically (using EasyML facade) configured for full Java support.
Implementations in other languages, like C#, Python, or GoLang, are being investigated.
Works and fast.