XML Schema
- W3C approved
- not totally supported by libxml2
- very complex and powerfull
books.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:dc="http://purl.org/dc/elements/1.1/">
<xs:import namespace="http://purl.org/dc/elements/1.1/" schemaLocation="dc.xsd"/>
<xs:element name="books">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="book"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="book">
<xs:complexType>
<xs:sequence>
<xs:element ref="title"/>
<xs:element ref="year"/>
<xs:element ref="dc:subject"/>
</xs:sequence>
<xs:attribute name="id" use="required" type="xs:integer"/>
<xs:attribute name="isbn" use="required" type="xs:NMTOKEN"/>
</xs:complexType>
</xs:element>
<xs:element name="title" type="xs:string"/>
<xs:element name="year" type="xs:integer"/>
</xs:schema>
RelaxNG
© copyright 2004 Bitflux GmbH