<?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="widgets" type="Widgets" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="Widgets">
        <xs:annotation>
            <xs:documentation>Legacy desktop widget format. Consult the widgets reference before using it.</xs:documentation>
        </xs:annotation>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element name="widget" type="Widget" />
        </xs:choice>
    </xs:complexType>
    <xs:complexType name="Widget">
        <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element name="title" type="RichText" />
            <xs:element name="attributes" type="WidgetAttributes" />
            <xs:element name="content" type="Content" />
        </xs:choice>
        <xs:attribute name="src" type="xs:string" />
    </xs:complexType>
    <xs:complexType name="RichText" mixed="true">
        <xs:sequence>
            <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" />
        </xs:sequence>
        <xs:anyAttribute processContents="lax" />
    </xs:complexType>
    <xs:complexType name="WidgetAttributes">
        <xs:attribute name="height" type="xs:string" />
        <xs:attribute name="width" type="xs:string" />
        <xs:attribute name="icon" type="xs:string" />
        <xs:attribute name="refresh" type="xs:string" />
        <xs:anyAttribute processContents="lax" />
    </xs:complexType>
    <xs:complexType name="Content" mixed="true">
        <xs:sequence>
            <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" />
        </xs:sequence>
        <xs:attribute name="type" type="xs:string" />
        <xs:attribute name="func" type="xs:string" />
        <xs:anyAttribute processContents="lax" />
    </xs:complexType>
</xs:schema>
