<?xml version="1.0" encoding="UTF-8"?>

<xs:schema targetNamespace="http://openuri/org/xbeans36" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:p="http://openuri/org/xbeans36" elementFormDefault="qualified" attributeFormDefault="unqualified" xsi:schemaLocation="http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema.xsd">
    <xs:element name="config_test">
        <xs:annotation>
            <xs:documentation>XPL root element</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="param_test" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                        <xs:attribute name="name_test" type="xs:string" use="required"/>
                        <xs:attribute name="type_test" type="xs:string" use="required"/>
                        <xs:attributeGroup ref="p:debug-schema-attributes"/>
                    </xs:complexType>
                </xs:element>
                <xs:group ref="p:statements_test"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:group name="statement">
        <xs:sequence>
            <xs:choice>
                <xs:element name="processor_test">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="input" minOccurs="0" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:any processContents="lax" minOccurs="0"/>
                                    </xs:sequence>
                                    <xs:attribute name="name_test" type="xs:string" use="required"/>
                                    <xs:attribute name="href_test" type="xs:string" use="optional"/>
                                    <xs:attributeGroup ref="p:debug-schema-attributes"/>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="output" minOccurs="0" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:any processContents="lax" minOccurs="0"/>
                                    </xs:sequence>
                                    <xs:attribute name="name_test" type="xs:string" use="required"/>
                                    <xs:attribute name="id_test" type="xs:string" use="optional"/>
                                    <xs:attribute name="ref" type="xs:string" use="optional"/>
                                    <xs:attributeGroup ref="p:debug-schema-attributes"/>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                        <xs:attribute name="uri_test" type="xs:anyURI" use="optional"/>
                        <xs:attribute name="name_test" type="xs:anyURI" use="optional"/>
                        <xs:attribute name="encapsulation_test" type="xs:string" use="optional"/>
                    </xs:complexType>
                </xs:element>
                <xs:element name="choose">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="when_test" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:group ref="p:statements_test"/>
                                    <xs:attribute name="test" type="xs:string" use="required"/>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="otherwise_test" minOccurs="0">
                                <xs:complexType>
                                    <xs:group ref="p:statements_test"/>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                        <xs:attribute name="href_test" type="xs:string" use="required"/>
                        <xs:attributeGroup ref="p:debug-schema-attributes"/>
                    </xs:complexType>
                </xs:element>
                <xs:element name="for-each">
                    <xs:complexType>
                        <xs:group ref="p:statements_test"/>
                        <xs:attribute name="href_test" type="xs:string" use="required"/>
                        <xs:attribute name="select_test" type="xs:string" use="required"/>
                        <xs:attribute name="id_test" type="xs:QName" use="required"/>
                        <xs:attribute name="root_test" type="xs:QName" use="required"/>
                    </xs:complexType>
                </xs:element>
            </xs:choice>
        </xs:sequence>
    </xs:group>
    <xs:group name="statements_test">
        <xs:sequence>
            <xs:group ref="p:statement" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:attributeGroup name="debug-schema-attributes">
        <xs:attribute name="debug_test" type="xs:string" use="optional"/>
        <xs:attribute name="schema-href_test" type="xs:anyURI" use="optional"/>
        <xs:attribute name="schema-uri_test" type="xs:anyURI" use="optional"/>
    </xs:attributeGroup>
</xs:schema>
