<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
    targetNamespace="http://www.w3.org/2005/11/its/testoutputformat"
    xmlns:o="http://www.w3.org/2005/11/its/testoutputformat">
    <xs:complexType name="anyContent" mixed="true">
        <xs:sequence minOccurs="0" maxOccurs="unbounded">
            <xs:any processContents="skip"/>
        </xs:sequence>
        <xs:anyAttribute processContents="skip"/>
    </xs:complexType>
    <xs:element name="locNoteText" type="o:anyContent"/>
    <xs:element name="locNoteReference" type="o:anyContent"/>
    <xs:element name="termInfoReference" type="o:anyContent"/>
    <xs:element name="termInfoText" type="o:anyContent"/>
    <xs:element name="rubyText" type="o:anyContent"/>
    <xs:element name="rubyPointer" type="o:anyContent"/>
    <xs:element name="rbcPointer" type="o:anyContent"/>
    <xs:element name="rtcPointer" type="o:anyContent"/>
    <xs:element name="rbspanPointer" type="o:anyContent"/>
    <xs:element name="rtPointer" type="o:anyContent"/>
    <xs:element name="rpPointer" type="o:anyContent"/>
    <xs:element name="ruby" type="o:anyContent"/>
    <!-- note: The ruby declaratoin is far to lax, here we should have the ruby model. -->
    <xs:element name="langInfo" type="o:anyContent"/>
    <xs:group name="outputContent">
        <xs:choice>
            <xs:element ref="o:locNoteText"/>
            <xs:element ref="o:locNoteReference"/>
            <xs:element ref="o:termInfoReference"/>
            <xs:element ref="o:termInfoText"/>
            <xs:element ref="o:rubyText"/>
            <xs:element ref="o:rubyPointer"/>
            <xs:element ref="o:rbcPointer"/>
            <xs:element ref="o:rtcPointer"/>
            <xs:element ref="o:rbspanPointer"/>
            <xs:element ref="o:rtPointer"/>
            <xs:element ref="o:rpPointer"/>
            <xs:element ref="o:ruby"/>
            <xs:element ref="o:langInfo"/>
        </xs:choice>
    </xs:group>
    <xs:element name="output">
        <xs:complexType>
            <xs:sequence minOccurs="1" maxOccurs="unbounded">
                <xs:group ref="o:outputContent" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
            <xs:attribute name="translate" form="qualified">
                <xs:simpleType>
                    <xs:restriction base="xs:token">
                        <xs:enumeration value="yes"/>
                        <xs:enumeration value="no"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="locNoteType" form="qualified">
                <xs:simpleType>
                    <xs:restriction base="xs:token">
                        <xs:enumeration value="alert"/>
                        <xs:enumeration value="description"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="term" form="qualified">
                <xs:simpleType>
                    <xs:restriction base="xs:token">
                        <xs:enumeration value="yes"/>
                        <xs:enumeration value="no"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="dir" form="qualified">
                <xs:simpleType>
                    <xs:restriction base="xs:token">
                        <xs:enumeration value="ltr"/>
                        <xs:enumeration value="rtl"/>
                        <xs:enumeration value="lro"/>
                        <xs:enumeration value="rlo"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="withinText" form="qualified">
                <xs:simpleType>
                    <xs:restriction base="xs:token">
                        <xs:enumeration value="yes"/>
                        <xs:enumeration value="no"/>
                        <xs:enumeration value="nested"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:attribute>
        </xs:complexType>
    </xs:element>
    <xs:element name="node">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="o:output"/>
            </xs:sequence>
            <xs:attribute name="path" use="required"/>
            <xs:attribute name="outputType"/>
        </xs:complexType>
    </xs:element>
    <xs:element name="nodeList">
        <xs:complexType>
            <xs:sequence minOccurs="1" maxOccurs="unbounded">
                <xs:element name="nodeList">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element maxOccurs="unbounded" ref="o:node"/>
                        </xs:sequence>
                        <xs:attribute name="datacat" use="required"/>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>
