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 [1]
example validation [http://www.oracle.com/technology/pub/articles/vohra_xmlschema.html http://www.oracle.com/technology/pub/articles/vohra_xmlschema.html]
- DOM: Document Object Model
Produces in-memory representation. Validates structure but not content. [2]
example validation [http://www.oracle.com/technology/pub/articles/vohra_xmlschema.html 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 http://www.oracle.com/technology/pub/articles/vohra_xmlschema.html]
example validation [http://www.oracle.com/technology/pub/articles/vohra_xmlschema.html 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. * [3]
- JAXP: Java API for XML Processing
Abstraction layer for XML processor independance. [4]
- options:
- xerces-j [6]
debian package libxerces-java Supports SAX, DOM
- xerces2-j [7]
debian package libxerces2-java libxerces2-java-doc Supports SAX, DOM, JAXP
- castor [8]open source. recent activity.
Java class/XML/SQL transforms
supports mapping existing classes or generating new classes.
article [10]
comparison [http://www-106.ibm.com/developerworks/library/x-databdopt/index.html http://www-106.ibm.com/developerworks/library/x-databdopt/index.html]
- JAXB [11]Java Community Standard
Supports generating new classes.
comparison [http://www-106.ibm.com/developerworks/library/x-databdopt/index.html http://www-106.ibm.com/developerworks/library/x-databdopt/index.html]
- JBind[14]
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 http://www-106.ibm.com/developerworks/library/x-databdopt/index.html]
- msv [15] What the
command line tools are/were using not clear it generates an in-memory image.
http://qare.sourceforge.net/web/2001-12/products/quick/index.html]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 http://www-106.ibm.com/developerworks/library/x-databdopt/index.html]
- Zeus [16]Supports strings only. Limited heirarchy support. Supports
generating new classes. comparison [http://www-106.ibm.com/developerworks/library/x-databdopt/index.html http://www-106.ibm.com/developerworks/library/x-databdopt/index.html]
- commercial options