1. A system for data binding, comprising: a schema compiler adapted to accept a schema for an XML document and generate a set of interfaces that map any types and elements of the schema into Java classes; and a runtime API for mapping between the XML document and the Java classes.