Content deleted Content added
→Description: added description of different approaches, split →Difficulties: and →Alternatives: into separate sections |
→XML data binding frameworks: inserted section |
||
Line 25:
==Data binding in general==
One of XML data binding's strengths is the ability to [[serialization|un/serialize]] objects across programs, languages, and platforms. You can dump a time series of structured objects from a datalogger written in [[C (programming language)]] on an embedded processor, bring it across the network to process in [[Perl]] and finally visualize in [[GNU Octave|Octave]]. The structure and the data remain consistent and coherent throughout the journey, and no custom formats or parsing is required. This is not unique to XML. [[YAML]], for example, is emerging as a powerful data binding alternative to XML. [[JSON]] (which can be regarded as a subset of YAML) is often suitable for lightweight or restricted applications.
==XML data binding frameworks==
===C++ and C===
* [[gSOAP]], an open-source XML data binding compiler for C and C++; supports SOAP, WSDL and XSD
* [[CodeSynthesis XSD]], an open-source XML data binding compiler for C++ with SAX or tree-like mapping into C++ classes
* [[xmlbeansxx]], a C++ library for XML data binding, similar to XMLBeans
===Java===
* [[Java Architecture for XML Binding]] (JAXB), a Java API for XML data binding, part of JSE and JEE
* [[Castor (framework)|Castor]], open-source XML data binding framework (earlier versions also supported Java-to-SQL persistence but this has since been forked into a separate project)
* [http://simple.sourceforge.net/ Simple], open-source XML serialization and configuration framework
* [[Apache XMLBeans]], an open-source XML data binding framework enabling access to XML documents via classes generated from an XML schema
* [[JiBX]], an open-source XML data binding framework which maps classes to XML schemes via bytecode manipulation
* [[XStream]], an open-source XML data binding framework, also capable of serializing to JSON
* Apache Commons Betwixt, simple open-source XML data binding framework, serializes objects to XML without requiring an XML schema definition
* Zeus
===.NET===
* System.Xml.Serialization, part of the .NET framework, contains XML data binding classes
==See also==
|