<?xml version='1.0' encoding='utf-8'?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified" attributeFormDefault="unqualified" version="2.0">
    <xs:annotation>
        <xs:documentation>Generated by scripts/generate_xsd.py. Structural validation for QUIQQER 2.x; extensible UI and provider content is intentionally open. No runtime validation is implied.</xs:documentation>
    </xs:annotation>
    <xs:element name="quiqqer">
        <xs:annotation>
            <xs:documentation>Standard document root. Keep the format-specific element inside this wrapper.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="database" type="Database" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="Database">
        <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element name="global" type="Scope" />
            <xs:element name="projects" type="Scope" />
        </xs:choice>
    </xs:complexType>
    <xs:complexType name="Scope">
        <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element name="table" type="Table" />
        </xs:choice>
        <xs:attribute name="execute" type="xs:string" />
    </xs:complexType>
    <xs:complexType name="Table">
        <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element name="field" type="Field" />
            <xs:element name="primary" type="xs:string" />
            <xs:element name="index" type="xs:string" />
            <xs:element name="unique" type="xs:string" />
            <xs:element name="fulltext" type="xs:string" />
            <xs:element name="auto_increment" type="xs:string" />
            <xs:element name="foreign-key" type="ForeignKey" />
            <xs:element name="comment" type="xs:string" />
        </xs:choice>
        <xs:attribute name="name" type="xs:string" use="required" />
        <xs:attribute name="engine" type="xs:string" />
        <xs:attribute name="no-site-reference" type="xs:string" />
        <xs:attribute name="no-auto-update" type="xs:string" />
        <xs:attribute name="no-project-lang" type="xs:string" />
        <xs:attribute name="site-types" type="xs:string" />
    </xs:complexType>
    <xs:complexType name="Field">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="type" type="xs:string" />
                <xs:attribute name="length" type="xs:string" />
                <xs:attribute name="nullable" type="xs:string" />
                <xs:attribute name="null" type="xs:string" />
                <xs:attribute name="notnull" type="xs:string" />
                <xs:attribute name="default" type="xs:string" />
                <xs:attribute name="precision" type="xs:string" />
                <xs:attribute name="scale" type="xs:string" />
                <xs:attribute name="autoincrement" type="xs:string" />
                <xs:attribute name="auto_increment" type="xs:string" />
                <xs:attribute name="primary" type="xs:string" />
                <xs:attribute name="unsigned" type="xs:string" />
                <xs:attribute name="comment" type="xs:string" />
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="ForeignKey">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="name" type="xs:string" />
                <xs:attribute name="foreignTable" type="xs:string" use="required" />
                <xs:attribute name="foreignColumns" type="xs:string" use="required" />
                <xs:attribute name="onDelete" type="xs:string" />
                <xs:attribute name="onUpdate" type="xs:string" />
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
</xs:schema>
