RelaxNG
  • developed by an "independent" group
  • fully supported by libxml2
  • easy to read, easy to write
  • doesn't have all the features of XML Schema
books.rng:
<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns:dc="http://purl.org/dc/elements/1.1/" ns="" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
  <start>
    <element name="books">
      <oneOrMore>
        <element name="book">
          <attribute name="id">
            <data type="integer"/>
          </attribute>
          <attribute name="isbn">
            <data type="NMTOKEN"/>
          </attribute>
          <element name="title">
            <text/>
          </element>
          <element name="year">
            <data type="integer"/>
          </element>
          <element name="dc:subject">
            <text/>
          </element>
        </element>
      </oneOrMore>
    </element>
  </start>
</grammar>
 
RelaxNG II - XHTML hyperlink module © copyright 2004  Bitflux GmbH