Qt Extended Home · Index · Classes · Headers · Overviews codeless banner

src/tools/qdsync/appointment.xsd

    <?xml version="1.0" encoding="utf-8"?>
    <!--
    /****************************************************************************
    **
    ** This file is part of the Qt Extended Opensource Package.
    **
    ** Copyright (C) 2009 Trolltech ASA.
    **
    ** $QT_EXTENDED_DUAL_LICENSE$
    **
    ****************************************************************************/
    Qt Extended PIM task schema
    -->
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
        <xs:simpleType name="repeatType">
            <xs:restriction base="xs:NMTOKEN">
                <xs:enumeration value="Daily"/>
                <xs:enumeration value="Weekly"/>
                <xs:enumeration value="MonthlyDate"/>
                <xs:enumeration value="MonthlyDay"/>
                <xs:enumeration value="MonthlyEndDay"/>
                <xs:enumeration value="Yearly"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="alarmType">
            <xs:restriction base="xs:NMTOKEN">
                <xs:enumeration value="Visible"/>
                <xs:enumeration value="Audible"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="weekDayType">
            <xs:restriction base="xs:NMTOKEN">
                <xs:enumeration value="Monday"/>
                <xs:enumeration value="Tuesday"/>
                <xs:enumeration value="Wednesday"/>
                <xs:enumeration value="Thursday"/>
                <xs:enumeration value="Friday"/>
                <xs:enumeration value="Saturday"/>
                <xs:enumeration value="Sunday"/>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="weekDayList">
            <xs:list itemType="weekDayType"/>
        </xs:simpleType>
        <xs:complexType name="identifierType" mixed="true">
            <xs:annotation>
                <xs:documentation xml:lang="en">
                    localIdentifier refers to the parsing entity.  E.g. if parsed on the device, the id
                    is local to the device when true.  If parsed by an outlook plugin, it is local to the outlook plugin if true.
                    This is used to indicate to the parser when the id needs to be mapped.
                </xs:documentation>
            </xs:annotation>
            <xs:simpleContent>
                <xs:extension base="xs:string">
                    <xs:attribute name="localIdentifier" type="xs:boolean" use="optional" default="true"/>
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
        <xs:element name="Appointment">
            <xs:complexType>
                <xs:sequence>
                    <xs:element name="Identifier" type="identifierType"/>
                    <xs:element name="Description" type="xs:string" minOccurs="0"/>
                    <xs:element name="Location" type="xs:string" minOccurs="0"/>
                    <xs:element name="TimeZone" type="xs:string" minOccurs="0"/>
                    <xs:element name="When">
                        <xs:complexType>
                            <xs:choice>
                                <xs:sequence>
                                    <xs:element name="Start" type="xs:dateTime"/>
                                    <xs:element name="End" type="xs:dateTime"/>
                                </xs:sequence>
                                <xs:sequence>
                                    <xs:element name="StartDate" type="xs:date"/>
                                    <xs:element name="EndDate" type="xs:date"/>
                                </xs:sequence>
                            </xs:choice>
                        </xs:complexType>
                    </xs:element>
                    <xs:element name="Alarm" minOccurs="0">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element name="Type" type="alarmType"/>
                                <xs:element name="Delay" type="xs:integer"/>
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                    <xs:element name="Repeat" minOccurs="0">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element name="Type" type="repeatType" minOccurs="0"/>
                                <xs:element name="Frequency" type="xs:integer"/>
                                <xs:element name="Until" type="xs:date" minOccurs="0"/>
                                <xs:element name="Nearest" type="xs:boolean" minOccurs="0"/>
                                <xs:element name="WeekMask" type="weekDayList"  minOccurs="0"/>
                                <xs:element name="Exception" minOccurs="0" maxOccurs="unbounded">
                                    <xs:complexType>
                                        <xs:sequence>
                                            <xs:element name="OriginalDate" type="xs:date"/>
                                            <xs:element name="Appointment" minOccurs="0">
                                                <xs:complexType>
                                                    <xs:sequence>
                                                        <xs:element name="Identitier" type="identifierType"/>
                                                        <xs:element name="Description" type="xs:string" minOccurs="0"/>
                                                        <xs:element name="Location" type="xs:string" minOccurs="0"/>
                                                        <xs:element name="When">
                                                            <xs:complexType>
                                                                <xs:choice>
                                                                    <xs:sequence>
                                                                        <xs:element name="Start" type="xs:dateTime"/>
                                                                        <xs:element name="End" type="xs:dateTime"/>
                                                                    </xs:sequence>
                                                                    <xs:sequence>
                                                                        <xs:element name="StartDate" type="xs:date"/>
                                                                        <xs:element name="EndDate" type="xs:date"/>
                                                                    </xs:sequence>
                                                                </xs:choice>
                                                            </xs:complexType>
                                                        </xs:element>
                                                        <xs:element name="Alarm" minOccurs="0">
                                                            <xs:complexType>
                                                                <xs:sequence>
                                                                    <xs:element name="Type" type="alarmType"/>
                                                                    <xs:element name="Delay" type="xs:integer"/>
                                                                </xs:sequence>
                                                            </xs:complexType>
                                                        </xs:element>
                                                        <xs:element name="Notes" type="xs:string" minOccurs="0"/>
                                                        <xs:element name="Categories">
                                                            <xs:complexType>
                                                                <xs:sequence>
                                                                    <xs:element name="Category" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
                                                                </xs:sequence>
                                                                <xs:attribute name="maxItems" use="optional" type="xs:positiveInteger"/>
                                                            </xs:complexType>
                                                        </xs:element>
                                                        <xs:element name="CustomFields">
                                                            <xs:complexType>
                                                                <xs:sequence>
                                                                    <xs:element name="Field" minOccurs="0" maxOccurs="unbounded">
                                                                        <xs:complexType>
                                                                            <xs:sequence>
                                                                                <xs:element name="Key" type="xs:string"/>
                                                                                <xs:element name="Value" type="xs:string"/>
                                                                            </xs:sequence>
                                                                        </xs:complexType>
                                                                    </xs:element>
                                                                </xs:sequence>
                                                                <xs:attribute name="maxItems" use="optional" type="xs:positiveInteger"/>
                                                            </xs:complexType>
                                                        </xs:element>
                                                    </xs:sequence>
                                                </xs:complexType>
                                                <xs:key name="ExceptionCustomFieldKey">
                                                    <xs:selector xpath="CustomFields/Field"/>
                                                    <xs:field xpath="Key"/>
                                                </xs:key>
                                                <xs:key name="ExceptionCategoryUnique">
                                                    <xs:selector xpath="Categories/Category"/>
                                                    <xs:field xpath="."/>
                                                </xs:key>
                                            </xs:element> <!-- end of Appointment -->
                                        </xs:sequence>
                                    </xs:complexType>
                                </xs:element> <!--  end of Exception -->
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element> <!-- end of repeat -->
                    <xs:element name="Notes" type="xs:string" minOccurs="0"/>
                    <xs:element name="Categories" minOccurs="0">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element name="Category" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
                            </xs:sequence>
                            <xs:attribute name="maxItems" use="optional" type="xs:positiveInteger"/>
                        </xs:complexType>
                    </xs:element>
                    <xs:element name="CustomFields" minOccurs="0">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element name="Field" minOccurs="0" maxOccurs="unbounded">
                                    <xs:complexType>
                                        <xs:sequence>
                                            <xs:element name="Key" type="xs:string"/>
                                            <xs:element name="Value" type="xs:string"/>
                                        </xs:sequence>
                                    </xs:complexType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute name="maxItems" use="optional" type="xs:positiveInteger"/>
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:complexType>
            <xs:key name="CustomFieldKey">
                <xs:selector xpath="CustomFields/Field"/>
                <xs:field xpath="Key"/>
            </xs:key>
            <xs:key name="CategoryUnique">
                <xs:selector xpath="Categories/Category"/>
                <xs:field xpath="."/>
            </xs:key>
        </xs:element>
    </xs:schema>


Copyright © 2009 Trolltech
Qt Extended Sync Agent Documentation