XML data binding
From Free net encyclopedia
XML data binding refers to the process of representing the information in an XML document as an object in computer memory. This allows applications to access the data in the XML from the object rather than using the DOM to retrieve the data from a direct representation of the XML itself.
An XML data binder accomplishes this by creating a mapping between elements of the XML schema of the document we wish to bind and members of a class to be represented in memory.
When this process is applied to convert an XML document to an object, it is called unmarshalling. The reverse process, to serialize an object as XML, is called marshalling.
Since XML is inherently sequential and objects are (usually) not, XML data binding mappings often fail to preserve all the information in an XML document. Specifically, information like comments, XML entity references, and sibling order will fail to be preserved in the object representation created by the binding application. This is not necessarily true; sufficiently complex data binders are capable of preserving 100% of the information in an XML document.
Contents |
O/RM frameworks and tools
Java
- Java Architecture for XML Binding (JAXB), and JaxMe variation
- XMLBeans data binding over Document Object Model view of data
- Hydrate, open source (GNU LGPL), relational/object/XML mapping tool
- Castor [1], open source (original BSD), object/XML/relational mapping tool
- JiBX [2], open source (modified BSD), a high performance Java/XML binding framework
JavaScript
- OpenLaszlo [3], open source, JavaScript based, rich internet application programming language
.Net
- Integrated into the language via the .Net attributes:
System.Xml.Serialization.XmlRootAttribute
andSystem.Xml.Serialization.XmlElementAttribute
C++
- XML Schema Definition Compiler for C++ (XSD), open source data binding tool that provides an event-driven, SAX-like C++ mapping in addition to the standard, tree-like in-memory representation
- LMX - XML to C++ Data Binding Code Generator Convert XML Schema to C++ code for easy interfacing to XML data.
Commercial
- Liquid XML 2006, advanced Wizard driven data binding tool for generating C++, C# .Net, Java and Visual Basic 6 components from XSD, XDR and DTD Schema files.
External links
- XML Data Binding Resources, by Ronald Bourret
- XML Data-Binding: Comparing Castor to .NET, by Niel Bornstein
- Bindmark project compares the time and memory performance of XML-Java binding solutions.
- XML and Java technologies: Data binding, Part 2: Performance, by Dennis Sosnoski, 01 Jan 2003
- W3C XML Schema to Standard C++ Data Binding Specification