The USAHA eCVI subcommittee has modeled the standard for Electronic Certificate of Veterinarian Inspection information as an XML Schema meta-model. XML instance documents that validate against this schema are standard compliant.
Validating eCVI XML instance documents against the eCVI schema only insures the basic standards of XML syntax and document structure. Validation against the eCVI schema does not insure that any business rules agreed upon by exchanging producer and consumer business entities are met.
To exchange and validate business rules a second level of model (document) processing and validation is required.
The Eclipse Model Framework EMF is an industry standard suite of meta-model tools and component generators compatible with XML Schema models that can be used to generate application components, utilities and applications that provide functionality for loading, persisting and transforming documents and resources; visual editors for the creation and editing of eCVI documents; referencing, extending and integrating eCVI document information into other applications; and a facility for adding higher level eCVI business rules and validation services.
EMF provides a simple dialog driven process for generating the above mentioned components and runtime utilities from an XML Schema. This Article documents the process.
In order to create more conventional and user/developer friendly class names for the generated components this project provides a XML Schema that adds Eclipse Model Framework EMF annotations to the XML schema created by the USAHA Ecvi subcommittee. Use this annotated schema if you wish follow the steps outlined above to generate EMF models and components.
If you would like to skip the process of generation and just try out the generated components in an existing Eclipse workspace see the Verticon specific project details and installation instructions at the desktop.ecvi.beta.0.1 Milestone.
Also see the desktop.ecvi.beta.0.2 Milestone for follow on work.
If you have technical comments to make on this annotation work, you should use the Trac Ticket:913.
For questions contact John Conlon ([email protected])
Thanks.