1 <?xml version="1.0" encoding="utf-8" ?>
3 <!-- ============================================================
4 $Header: /home/amb/routino/xml/RCS/xsd.xsd,v 1.1 2010/03/28 15:27:05 amb Exp $
6 An XML Schema Definition for the XML Schema Definition XML format
8 Not a full definition but sufficient to allow the xsd-to-xmlparser to
9 read it to bootstrap itself - a program to read in other files in the
10 same format to create more XML parsers for other useful things.
11 ============================================================
12 This file Copyright 2010 Andrew M. Bishop
14 This program is free software: you can redistribute it and/or modify
15 it under the terms of the GNU Affero General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18 ============================================================ -->
20 <xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
22 <!-- The top level xsd:schema element -->
24 <xsd:element name="xsd:schema" type="schemaType"/>
26 <xsd:complexType name="schemaType">
28 <xsd:element name="xsd:element" type="elementType"/>
29 <xsd:element name="xsd:complexType" type="complexType" minOccurs="0" maxOccurs="unbounded"/>
31 <xsd:attribute name="elementFormDefault" type="xsd:string"/>
32 <xsd:attribute name="xmlns:xsd" type="xsd:string"/>
35 <!-- The second level xsd:element and xsd:complexType elements -->
37 <xsd:complexType name="elementType">
38 <xsd:attribute name="name" type="xsd:string"/>
39 <xsd:attribute name="type" type="xsd:string"/>
40 <xsd:attribute name="minOccurs" type="xsd:string"/>
41 <xsd:attribute name="maxOccurs" type="xsd:string"/>
44 <xsd:complexType name="complexType">
46 <xsd:element name="xsd:sequence" type="sequenceType" minOccurs="0"/>
47 <xsd:element name="xsd:attribute" type="attributeType" minOccurs="0" maxOccurs="unbounded"/>
49 <xsd:attribute name="name" type="xsd:string"/>
52 <!-- The third level elements and their contents -->
54 <xsd:complexType name="sequenceType">
56 <xsd:element name="xsd:element" type="elementType" minOccurs="0" maxOccurs="unbounded"/>
60 <xsd:complexType name="attributeType">
61 <xsd:attribute name="name" type="xsd:string"/>
62 <xsd:attribute name="type" type="xsd:string"/>