XML Schema software
Software can support or be aware of XML Schema in a variety of ways. XML Schema 1.0 defines conformance only for the class of schema-based validators; this may change in XML Schema 1.1.
Note that a great deal of software for editing and using Web Services whose interfaces are defined with WSDL implicitly handles XML Schemas to describe the structure of input message types and output message types from operations provided by those Web Services.
[Included below are some packages listed on the public XML Schema page. It would be highly desirable to have short essays (in this page or on separate pages) on each major class of software.]
Schema-based validators and general toolkits
These tools perform what the spec refers to as 'schema-validity assessment'. (The spec avoids the term 'validation' on the grounds that that term is effectively reserved for DTD-based validation.)
Some of these are effectively front ends to engines also available independently; since not all vendors go into detail about whether they have implemented their own validator or licensed one from elsewhere, no attempt has been made to distinguish these cases.
- Apache Xerces-C
- Apache Xerces-J
- Apache XML::Xerces (Perl wrapper for Xerces-C)
aka XML Core Services. Some ancillary materials:
(a simple tool for invoking msxml4 schema-validation from the command line. "It's trivial, but will save you an hour or two if you haven't done it before ...")
("source code and the executable for a simple W3C XML Schema validation tool")
- Sun Multi-Schema Validator
- Syntext XSV (N.B. this
is distinct from Henry Thompson's XSV validator.)
(also included in other Topologi products and packages)
(Validation service for creating, maintaining and sharing own test profiles covering both schema and business rule validation.)
- XML::Schema::Validate (Perl
module for validating XML documents against a W3C XML Schema)
- XMLmind XsdValid
- XSV by Henry Thompson (not to be confused
with the Syntext XSV product)
- XML Nanny by Todd Ditchendorf (GUI XML validator for OS X)
Some tools listed elsewhere (e.g. the editors and the XQuery and XSLT engines) will also support validation when requested in the relevant context.
There are Web interfaces to at least two validation servers:
(Web-form interface)
Schema-aware XML editors and editing tools
(does this belong in this category or somewhere else?)
(also available in applet form)
This list is almost certainly not complete.
Generators of XML Schemas from UML, MOF, EMOF
- Sparx XSD Generation (generates XSD from UML)
Generators of XML Schemas from Relational Database Schemas
To be supplied.
Generators of XML Schemas from RDF Schemas or OWL Ontologies
To be supplied.
Data binding tools
These are tools for mapping from XML to programming-language data structures or objects, and vice versa; those listed here take schemas into account. Frequently they generate class shells from a schema, or vice versa.
- Castor
- Eclipse Modeling Framework provides data binding services between Java programs and XML data they process
- JaxB (reference implementation in the Java Web Services Developers Pack)
- JaxMe (Apache implementation of JaxB)
- JBind
- Liquid XML
- Rogue Wave LEIF (Lightweight
Enterprise Integration Framework)
- SchemaWare has tools for a variety of
data binding tasks: Cobol, C#, and Java to and from XML, schema generation, etc.
(similar to the xsd.exe tool built in to .Net, but enhanced, according to its authors)
See also Ron Bourret's XML Data Binding Resources page.
Form generators
Generation of HTML forms or XForms to 'fill in the blanks' of a document.
Generators of UML, MOF, EMOF from XML Schema
- Eclipse Modeling Framework utilities can be used to build an eCore representation (very close to OMG's EMOF) from an XML Schema, which it does by making use of Eclipse XML Schema Infoset Model.
To be supplied.
Generators of Relational Database Schemas from XML Schemas
To be supplied.
Generators of RDF Schemas or OWL Ontologies from XML Schemas
To be supplied.
Schema-writing and maintenance tools
- GEFEG EDIFIX (tool for EDI work)
- KLEEN (Eclipse plug-in for asset-oriented modeling)
- oXygen
- Stylus Studio XML Schema Editor
- SysOnyx xmlDraft
- XML Spy
- Tibco Turbo XML
- IBM Rational Software Architect includes an XML Schema editor
- Eclipse Web Tools Platform Project will include an XML Schema editor
Some data binding tools also have tools to read a set of class declarations and generate an XML Schema document.
Schema induction tools
(Web-form interface)
Some tools listed elsewhere can also generate schemas from XML instances.
Schema conversion
- LuMRiX dtd2xs converter
- Syntext Dtd2Xs
- Sparx XSD Generation (generates XSD from UML)
- Sun Relax NG Converter
(converts XSD, among other notations, into Relax NG)
Tools for exploring or displaying information about schemas
Some of these are interactive tools for browsing schema documents; others generate HTML from schema documents, in the expectation that the only browser you want to use is your Web browser.
- Bluetetra XSDdoc
- buldocs xnsdoc
- LuMRiX XSBrowser
- Titanium Project xs3p
- XFrame xsddoc
- XSD Viewer / XML Schema Viewer
- DocFlex/XML XSDDoc
- DocFlex/XML WSDLDoc
by Frank Kilkelly
Schema version n+1 vs version n difference visualizers
To be supplied.
Schema analyzers
Schema-aware XSLT and XQuery engines
Miscellaneous
- Utilities from schemaValid.com
- Sun XML Instance Generator
(generates valid and invalid instances from a schema; XSD and other schema languages are supported)
- Eclipse XML Schema Infoset Model is a library which allows Java programmers to construct, manipulate or navigate through Java objects corresponding to a W3C XML Schema, as well as serialize or deserialize schemas stored in one or more XML Schema documents. It can be used inside Eclipse or outside of Eclipse.