<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
    xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
    ns="http://docs.openstack.org/common/api/v1.0"
    datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<!--
    <start combine="choice">
        <choice>
            <ref name="rax.extensions"/>
            <ref name="rax.extension"/>
        </choice>
    </start>-->

    <define name="rax.extensions">
        <element name="extensions">
            <oneOrMore>
                <ref name="rax.extension"/>
            </oneOrMore>
        </element>
    </define>

    <define name="rax.extension">
        <element name="extension">
            <attribute name="name">
                <text/>
            </attribute>
            <attribute name="namespace">
                <data type="anyURI"/>
            </attribute>
            <attribute name="updated">
                <data type="dateTime"/>
            </attribute>
            <attribute name="alias">
                <text/>
            </attribute>
            <element name="description">
                <text/>
            </element>
            <zeroOrMore>
                <element name="link" ns="http://www.w3.org/2005/Atom">
                    <attribute name="rel">
                        <choice>
                            <value>alternate</value>
                            <value>appendix</value>
                            <value>archives</value>
                            <value>author</value>
                            <value>bookmark</value>
                            <value>chapter</value>
                            <value>contents</value>
                            <value>copyright</value>
                            <value>current</value>
                            <value>describedby</value>
                            <value>edit</value>
                            <value>edit-media</value>
                            <value>first</value>
                            <value>glossary</value>
                            <value>help</value>
                            <value>hub</value>
                            <value>icon</value>
                            <value>index</value>
                            <value>last</value>
                            <value>latest-version</value>
                            <value>license</value>
                            <value>monitor</value>
                            <value>monitor-group</value>
                            <value>next</value>
                            <value>next-arvhice</value>
                            <value>nofollow</value>
                            <value>payment</value>
                            <value>predecessor-version</value>
                            <value>prefetch</value>
                            <value>prev</value>
                            <value>previous</value>
                            <value>prev-archive</value>
                            <value>replies</value>
                            <value>search</value>
                            <value>section</value>
                            <value>self</value>
                            <value>service</value>
                            <value>start</value>
                            <value>stylesheet</value>
                            <value>subsection</value>
                            <value>successor-version</value>
                            <value>up</value>
                            <value>version-history</value>
                            <value>via</value>
                            <value>working-copy</value>
                            <value>working-copy-of</value>
                        </choice>
                    </attribute>
                    <optional>
                        <attribute name="type">
                            <text/>
                        </attribute>
                    </optional>
                    <attribute name="href">
                        <data type="anyURI"/>
                    </attribute>
                    <optional>
                        <attribute name="hreflang">
                            <data type="NMTOKEN"/>
                        </attribute>
                    </optional>
                    <optional>
                        <attribute name="title">
                            <text/>
                        </attribute>
                    </optional>
                    <optional>
                        <attribute name="xml:base">
                            <data type="anyURI"/>
                        </attribute>      
                    </optional>
                    <optional>
                        <attribute name="xml:lang">
                            <text/>
                        </attribute>      
                    </optional>
                </element>
            </zeroOrMore>
        </element>
    </define>
</grammar>