XML Schema software

From W3C Wiki
Jump to: navigation, search

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.

   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")
  is distinct from Henry Thompson's XSV validator.)
  (also included in other Topologi products and packages)
  module for validating XML documents against a W3C XML Schema)
  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

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.

  Enterprise Integration Framework)
  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

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

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

  (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.

  by Frank Kilkelly

Schema version n+1 vs version n difference visualizers

To be supplied.

Schema analyzers

Schema-aware XSLT and XQuery engines

Miscellaneous

  (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.