MembershipDatabaseEditorXMLTechnologyTask
From PCSAR
Line 6: | Line 6: | ||
* technology: | * technology: | ||
* SAX: Simple API for XML | * SAX: Simple API for XML | ||
- | Does not produce representation in memory | + | Does not produce representation in memory http://java.sun.com/xml/jaxb/faq.html |
- | example validation | + | example validation http://www.oracle.com/technology/pub/articles/vohra_xmlschema.html |
- | + | ||
* DOM: Document Object Model | * DOM: Document Object Model | ||
Produces in-memory representation. Validates structure but not | Produces in-memory representation. Validates structure but not | ||
- | content. | + | content. http://java.sun.com/xml/jaxb/faq.html |
- | example validation | + | example validation http://www.oracle.com/technology/pub/articles/vohra_xmlschema.html |
- | + | ||
* XSD: XML Schema Design validator | * XSD: XML Schema Design validator | ||
- | Does not validate parsing. | + | 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 | + | example validation [http://www.oracle.com/technology/pub/articles/vohra_xmlschema.html |
- | + | ||
Not clear whether creates in-memory objects. Not clear whether | Not clear whether creates in-memory objects. Not clear whether | ||
Line 30: | Line 26: | ||
* JAXB: better than SAX, DOM | * JAXB: better than SAX, DOM | ||
Less able to handle dynamic structures. Input is | Less able to handle dynamic structures. Input is | ||
- | XMLSchema. * | + | XMLSchema. |
+ | * http://java.sun.com/xml/jaxb/faq.html | ||
* JAXP: Java API for XML Processing | * JAXP: Java API for XML Processing | ||
- | Abstraction layer for XML processor independance. | + | 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: | * options: | ||
- | * xerces-j | + | * xerces-j http://xml.apache.org/xerces-j/index.html |
debian package libxerces-java | debian package libxerces-java | ||
Supports SAX, DOM | Supports SAX, DOM | ||
- | * xerces2-j | + | * xerces2-j http://xml.apache.org/xerces2-j/index.html |
debian package libxerces2-java libxerces2-java-doc | debian package libxerces2-java libxerces2-java-doc | ||
Supports SAX, DOM, JAXP | Supports SAX, DOM, JAXP | ||
- | * castor | + | * castor http://www.castor.org/ open source. recent activity. |
Java class/XML/SQL transforms | Java class/XML/SQL transforms | ||
Line 52: | Line 49: | ||
supports mapping existing classes or generating new classes. | supports mapping existing classes or generating new classes. | ||
- | + | http://www.castor.org/status.html | |
- | article | + | article http://javaboutique.internet.com/tutorials/CastorXML/ |
- | comparison | + | comparison http://www-106.ibm.com/developerworks/library/x-databdopt/index.html |
- | + | ||
- | * JAXB | + | * JAXB http://java.sun.com/xml/jaxb/ Java Community Standard |
Supports generating new classes. | Supports generating new classes. | ||
- | comparison | + | comparison http://www-106.ibm.com/developerworks/library/x-databdopt/index.html |
- | + | ||
- | |||
- | * JBind | + | * JaxMe http://jaxme.sourceforge.net/JaxMe2/ http://ws.apache.org/jaxme/ OpenSource implementation of JAXB |
+ | |||
+ | * JBind http://jbind.sourceforge.net/ | ||
validate, build java representation | validate, build java representation | ||
rigid, deeper support for XML. Supports generating new classes. | rigid, deeper support for XML. Supports generating new classes. | ||
- | comparison | + | comparison http://www-106.ibm.com/developerworks/library/x-databdopt/index.html |
- | + | ||
- | * msv | + | * msv https://msv.dev.java.net/ |
+ | What the | ||
command line tools are/were using | command line tools are/were using | ||
not clear it generates an in-memory image. | not clear it generates an in-memory image. | ||
- | * Quick | + | * Quick 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 | poor forum support. Supports mapping existing classes or generating | ||
- | new classes. comparison | + | new classes. comparison http://www-106.ibm.com/developerworks/library/x-databdopt/index.html |
- | + | ||
- | * Zeus | + | * Zeus http://zeus.objectweb.org/ |
- | generating new classes. comparison | + | Supports strings only. Limited heirarchy support. Supports |
- | http://www-106.ibm.com/developerworks/library/x-databdopt/index.html | + | generating new classes. comparison http://www-106.ibm.com/developerworks/library/x-databdopt/index.html |
* commercial options | * commercial options | ||
** [http://www.jaxfront.com/pages/home.html JaxFront] | ** [http://www.jaxfront.com/pages/home.html JaxFront] | ||
** [http://otn.oracle.com/pub/articles/vohra_xmlschema.html Oracle XML Developer's Kit] | ** [http://otn.oracle.com/pub/articles/vohra_xmlschema.html Oracle XML Developer's Kit] |
Current revision
- 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