MembershipDatabaseEditorXMLTechnologyTask
From PCSAR
- decide which XML Schema validator to use
choice: Castor because it supports both code generation and class mapping, because it's open source, because it's actively developed, and because it's reasonably reviewed.
- technology:
- SAX: Simple API for XML
Does not produce representation in memory http://java.sun.com/xml/jaxb/faq.html
example validation http://www.oracle.com/technology/pub/articles/vohra_xmlschema.html
- DOM: Document Object Model
Produces in-memory representation. Validates structure but not content. http://java.sun.com/xml/jaxb/faq.html
example validation http://www.oracle.com/technology/pub/articles/vohra_xmlschema.html
- XSD: XML Schema Design validator
Does not validate parsing. http://www.oracle.com/technology/pub/articles/vohra_xmlschema.html
example validation [http://www.oracle.com/technology/pub/articles/vohra_xmlschema.html
Not clear whether creates in-memory objects. Not clear whether any easier than DOM.
- JAXB: better than SAX, DOM
Less able to handle dynamic structures. Input is XMLSchema.
- JAXP: Java API for XML Processing
Abstraction layer for XML processor independance. http://java.sun.com/xml/jaxp/reference/faqs/index.html
http://java.sun.com/xml/jaxp/index.jsp
- options:
- xerces-j http://xml.apache.org/xerces-j/index.html
debian package libxerces-java Supports SAX, DOM
debian package libxerces2-java libxerces2-java-doc Supports SAX, DOM, JAXP
- castor http://www.castor.org/ open source. recent activity.
Java class/XML/SQL transforms
supports mapping existing classes or generating new classes.
http://www.castor.org/status.html
article http://javaboutique.internet.com/tutorials/CastorXML/
comparison http://www-106.ibm.com/developerworks/library/x-databdopt/index.html
- JAXB http://java.sun.com/xml/jaxb/ Java Community Standard
Supports generating new classes.
comparison http://www-106.ibm.com/developerworks/library/x-databdopt/index.html
- JaxMe http://jaxme.sourceforge.net/JaxMe2/ http://ws.apache.org/jaxme/ OpenSource implementation of JAXB
validate, build java representation rigid, deeper support for XML. Supports generating new classes. comparison http://www-106.ibm.com/developerworks/library/x-databdopt/index.html
What the command line tools are/were using not clear it generates an in-memory image.
uses DTD no XMLSchema. very flexible. complex schemas. poor forum support. Supports mapping existing classes or generating new classes. comparison http://www-106.ibm.com/developerworks/library/x-databdopt/index.html
Supports strings only. Limited heirarchy support. Supports generating new classes. comparison http://www-106.ibm.com/developerworks/library/x-databdopt/index.html
- commercial options