XML

XML Schema

The W3C XML Schema Definition Language (XSD) is an XML based language for describing and constraining the content of application-specific XML documents. It allows to formally define ones own XML based language. The XML Schema of a particular application can also be used:
  • as language documentation, specifying structure (grammar) and datatypes
  • to validate application-specific XML files
  • to generate code

XML Schema Part 0: Primer is a non-normative document intended to provide an easily readable description of the XML Schema facilities. XML Schema Part 1: Structures specifies the XML Schema definition language, which offers facilities for describing the structure and constraining the contents of XML 1.0 documents. XML Schema Part 2: Datatypes defines facilities for defining datatypes to be used in XML Schemas as well as other XML specifications. RELAX NG is the most prominent alternative XML schema language. Other alternatives are: ASN.1 and Schematron. One can convert one schema language into the other when required.

The ISO/IEC 19757 - DSDL standardization project is to create a framework within which multiple validation tasks of different types can be applied to an XML document in order to achieve more complete validation results than just the application of a single technology.

Specification of an XML Schema in ASN.1 allows binary encoding of XML, which is useful in some applications like e.g. message protocols in bandwidth constrained communication environments. It is possible to convert XSD to ASN.1.

Tutorials:

Critiques: References: Free downloadable tools: Free on-line tools: