But DTDs have no mechanisms for specifying data types. They can't say that element X is an integer, much less specify a format for it or restrain its possible values. That mechanism is a binding schema , a document written in XML that governs the operation of the schema compiler. Now, the binding schema is a fairly tedious document to write. To make things somewhat easier, Adelard includes a generator that produces a default binding schema.
Every attribute becomes a primitive data item and every element becomes a class definition.
You can then edit the binding schema to get more appropriate behavior. The size and complexity of the binding schema will make hand editing fairly difficult, though. When you change a mapping to use a primitive datatype instead of a class, for example, you'll also need to find and remove the class definition. Still, at least it will be possible to do the editing. Over time, Sun expects to see an industry develop that provides better generators and editing tools.