buildframework/helium/tools/common/schema/helium_data_model.xsd
author wbernard
Wed, 23 Dec 2009 19:29:07 +0200
changeset 179 d8ac696cc51f
parent 1 be27ed110b50
permissions -rw-r--r--
helium_7.0-r14027

<?xml version="1.0" encoding="UTF-8"?>
<!--W3C Schema generated by XMLSPY v2004 rel. 3 U (http://www.xmlspy.com)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xs:element name="description" type="xs:string"/>
    <xs:element name="deprecated" type="xs:string"/>
    <xs:element name="enumeration">
        <xs:complexType>
            <xs:attribute name="value" use="required">
                <xs:simpleType>
                    <xs:restriction base="xs:NMTOKEN">
                        <xs:enumeration value="ebs"/>
                        <xs:enumeration value="ec"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:attribute>
        </xs:complexType>
    </xs:element>
    <xs:element name="group">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="name"/>
                <xs:element ref="description"/>
                <xs:element ref="propertyRef" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="heliumDataModel">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="property" maxOccurs="unbounded"/>
                <xs:element ref="group" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="name" type="xs:string"/>
    <xs:element name="property">
        <xs:complexType>
            <xs:choice maxOccurs="unbounded">
                <xs:element ref="name"/>
                <xs:element ref="usage" minOccurs="0"/>
                <xs:element ref="type" minOccurs="0"/>
                <xs:element name="editStatus">
                    <xs:simpleType>
                        <xs:restriction base="xs:string">
                            <xs:enumeration value="must"/>
                            <xs:enumeration value="recommended"/>
                            <xs:enumeration value="allowed"/>
                            <xs:enumeration value="discouraged"/>
                            <xs:enumeration value="never"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:element>
                <xs:element ref="description"/>
                <xs:element ref="deprecated" minOccurs="0"/>
            </xs:choice>
        </xs:complexType>
    </xs:element>
    <xs:element name="propertyRef">
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="xs:string">
                    <xs:attribute name="usage" use="required">
                        <xs:simpleType>
                            <xs:restriction base="xs:NMTOKEN">
                                <xs:enumeration value="optional"/>
                                <xs:enumeration value="required"/>
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:attribute>
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
    </xs:element>
    <xs:element name="restriction">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="enumeration" maxOccurs="unbounded"/>
            </xs:sequence>
            <xs:attribute name="base" type="xs:QName" use="required"/>
        </xs:complexType>
    </xs:element>
    <xs:element name="type">
        <xs:complexType mixed="true">
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element ref="restriction"/>
            </xs:choice>
        </xs:complexType>
    </xs:element>
    <xs:element name="usage">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="optional"/>
                <xs:enumeration value="required"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
</xs:schema>