creator/scripts/creator.xsd
changeset 0 d6fe6244b863
equal deleted inserted replaced
-1:000000000000 0:d6fe6244b863
       
     1 <?xml version="1.0" encoding="ISO-8859-1" ?>
       
     2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="0.1">
       
     3 
       
     4 <!-- Version 0.1 February 13th 2009: First version of the schema-->
       
     5 
       
     6 <xs:complexType name="entityfield">
       
     7   <xs:simpleContent>
       
     8     <xs:extension base="xs:string">
       
     9       <!-- If not given, amount="1" is assumed -->
       
    10       <xs:attribute name="amount" type="xs:positiveInteger" use="optional" />
       
    11       <!-- This can be a numeric length (in bytes) "default" or "max", valid with random data only -->
       
    12       <xs:attribute name="randomlength" type="xs:string" use="optional" />
       
    13     </xs:extension>
       
    14   </xs:simpleContent>
       
    15 </xs:complexType>
       
    16 
       
    17 <xs:element name="contact-set-reference">
       
    18   <xs:complexType>
       
    19     <xs:attribute name="id" type="xs:integer" use="required" />
       
    20     <xs:attribute name="maxamount" type="xs:integer" use="optional" />
       
    21   </xs:complexType>
       
    22 </xs:element>
       
    23                   
       
    24 <xs:complexType name="contactfield" mixed="true">
       
    25   <xs:sequence>
       
    26     <xs:element ref="contact-set-reference" minOccurs="0" maxOccurs="unbounded" />
       
    27   </xs:sequence>
       
    28   <!-- If not given, amount="1" is assumed -->
       
    29   <xs:attribute name="amount" type="xs:positiveInteger" use="optional" />
       
    30   <xs:attribute name="incvalueforeachcopy" type="xs:boolean" use="optional" />
       
    31 </xs:complexType>
       
    32 
       
    33 <xs:complexType name="simplefield">
       
    34   <xs:simpleContent>
       
    35     <xs:extension base="xs:string">
       
    36     </xs:extension>
       
    37   </xs:simpleContent>
       
    38 </xs:complexType>
       
    39 
       
    40 <xs:group name="randomElements">
       
    41   <xs:sequence>
       
    42   </xs:sequence>
       
    43 </xs:group>
       
    44 
       
    45 <xs:simpleType name="fileidfield">
       
    46   <xs:restriction base="xs:string">
       
    47     <xs:enumeration value="3GPP-70kB" />
       
    48     <xs:enumeration value="AAC-100kB" />
       
    49     <xs:enumeration value="AMR-20kB" />
       
    50     <xs:enumeration value="XLS-15kB" />
       
    51     <xs:enumeration value="GIF-2kB" />
       
    52     <xs:enumeration value="JPEG-200kB" />
       
    53     <xs:enumeration value="JPEG-25kB" />
       
    54     <xs:enumeration value="JPEG-500kB" />
       
    55     <xs:enumeration value="MIDI-10kB" />
       
    56     <xs:enumeration value="MP3-250kB" />
       
    57     <xs:enumeration value="PNG-15kB" />
       
    58     <xs:enumeration value="PPT-40kB" />
       
    59     <xs:enumeration value="RM-95kB" />
       
    60     <xs:enumeration value="RNG-1kB" />
       
    61     <xs:enumeration value="TXT-10kB" />
       
    62     <xs:enumeration value="TXT-70kB" />
       
    63     <xs:enumeration value="WAV-20kB" />
       
    64     <xs:enumeration value="DOC-20kB" />
       
    65     <xs:enumeration value="SWF-15kB" />
       
    66     <xs:enumeration value="JAD-1kB" />
       
    67     <xs:enumeration value="JAR-10kB" />
       
    68     <xs:enumeration value="TIF-25kB" />
       
    69     <xs:enumeration value="MXMF-40kB" />
       
    70     <xs:enumeration value="BMP-25kB" />
       
    71     <xs:enumeration value="JP2-65kB" />
       
    72     <xs:enumeration value="SVG-15kB" />
       
    73     <xs:enumeration value="HTML-20kB" />
       
    74     <xs:enumeration value="VCF-1kB" />
       
    75     <xs:enumeration value="VCS-1kB" />
       
    76     <xs:enumeration value="MP4-200kB" />
       
    77     <xs:enumeration value="SISX-10kB" />
       
    78     <xs:enumeration value="RAM-1kB" />
       
    79     <xs:enumeration value="WMV-200kB" />
       
    80     <xs:enumeration value="WMA-50kB" />
       
    81     <xs:enumeration value="" /> <!-- allow empty content to enable random content to be generated -->
       
    82   </xs:restriction>
       
    83 </xs:simpleType>
       
    84 
       
    85 <xs:simpleType name="syncfield">
       
    86   <xs:restriction base="xs:string">
       
    87     <xs:enumeration value="public" />
       
    88     <xs:enumeration value="private" />
       
    89     <xs:enumeration value="none" />
       
    90     <xs:enumeration value="" /> <!-- allow empty content to enable random content to be generated -->
       
    91   </xs:restriction>
       
    92 </xs:simpleType>
       
    93 
       
    94 <xs:simpleType name="datetimeemptyfield">
       
    95   <xs:union>
       
    96     <xs:simpleType>
       
    97       <xs:restriction base="xs:string">
       
    98         <xs:minLength value="0" />
       
    99         <xs:maxLength value="0" />
       
   100       </xs:restriction>
       
   101     </xs:simpleType>
       
   102     <xs:simpleType>
       
   103       <xs:restriction base="xs:dateTime" />
       
   104     </xs:simpleType>
       
   105     <xs:simpleType>
       
   106       <xs:restriction base="xs:date" />
       
   107     </xs:simpleType>
       
   108   </xs:union>
       
   109 </xs:simpleType>
       
   110 
       
   111 <xs:simpleType name="integerEmptyType">
       
   112   <xs:union>
       
   113     <xs:simpleType>
       
   114       <xs:restriction base="xs:string">
       
   115         <xs:minLength value="0" />
       
   116         <xs:maxLength value="0" />
       
   117       </xs:restriction>
       
   118     </xs:simpleType>
       
   119     <xs:simpleType>
       
   120       <xs:restriction base="xs:integer" />
       
   121     </xs:simpleType>
       
   122   </xs:union>
       
   123 </xs:simpleType>
       
   124 
       
   125 <xs:simpleType name="positiveIntegerEmptyType">
       
   126   <xs:union>
       
   127     <xs:simpleType>
       
   128       <xs:restriction base="xs:string">
       
   129         <xs:minLength value="0" />
       
   130         <xs:maxLength value="0" />
       
   131       </xs:restriction>
       
   132     </xs:simpleType>
       
   133     <xs:simpleType>
       
   134       <xs:restriction base="xs:positiveInteger" />
       
   135     </xs:simpleType>
       
   136   </xs:union>
       
   137 </xs:simpleType>
       
   138 
       
   139 <xs:simpleType name="datetimefield">
       
   140   <xs:union>
       
   141     <xs:simpleType>
       
   142       <xs:restriction base="xs:dateTime" />
       
   143     </xs:simpleType>
       
   144     <xs:simpleType>
       
   145       <xs:restriction base="xs:date" />
       
   146     </xs:simpleType>
       
   147   </xs:union>
       
   148 </xs:simpleType>
       
   149 
       
   150 <xs:group name="contactElements">
       
   151   <xs:sequence>
       
   152     <xs:element name="firstname" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   153     <xs:element name="lastname" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   154     <xs:element name="company" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   155     <xs:element name="jobtitle" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   156     <xs:element name="prefix" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   157     <xs:element name="suffix" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   158     <xs:element name="secondname" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   159     <xs:element name="addrlabelgen" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   160     <xs:element name="addrpogen" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   161     <xs:element name="addrextgen" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   162     <xs:element name="addrstreetgen" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   163     <xs:element name="addrlocalgen" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   164     <xs:element name="addrregiongen" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   165     <xs:element name="addrpostcodegen" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   166     <xs:element name="addrcountrygen" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   167     <xs:element name="addrlabelhome" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   168     <xs:element name="addrpohome" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   169     <xs:element name="addrexthome" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   170     <xs:element name="addrstreethome" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   171     <xs:element name="addrlocalhome" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   172     <xs:element name="addrregionhome" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   173     <xs:element name="addrpostcodehome" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   174     <xs:element name="addrcountryhome" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   175     <xs:element name="addrlabelwork" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   176     <xs:element name="addrpowork" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   177     <xs:element name="addrextwork" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   178     <xs:element name="addrstreetwork" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   179     <xs:element name="addrlocalwork" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   180     <xs:element name="addrregionwork" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   181     <xs:element name="addrpostcodework" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   182     <xs:element name="addrcountrywork" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   183     <xs:element name="poc" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   184     <xs:element name="swis" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   185     <xs:element name="sip" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   186     <xs:element name="dtmfstring" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   187     <xs:element name="note" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   188     <xs:element name="middlename" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   189     <xs:element name="department" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   190     <xs:element name="asstname" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   191     <xs:element name="spouse" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   192     <xs:element name="children" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   193     <xs:element name="locprivacy" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   194     <xs:element name="genlabel" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   195     <xs:element name="wvaddress" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   196     <xs:element name="thumbnailpath" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   197     <xs:element name="thumbnailid" minOccurs="0" maxOccurs="unbounded" type="fileidfield" />
       
   198     <xs:element name="callerobjtext" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   199     <xs:element name="landphonegen" minOccurs="0" maxOccurs="unbounded" type="contactfield" />
       
   200     <xs:element name="landphonehome" minOccurs="0" maxOccurs="unbounded" type="contactfield" />
       
   201     <xs:element name="landphonework" minOccurs="0" maxOccurs="unbounded" type="contactfield" />
       
   202     <xs:element name="mobilephonegen" minOccurs="0" maxOccurs="unbounded" type="contactfield" />
       
   203     <xs:element name="mobilephonehome" minOccurs="0" maxOccurs="unbounded" type="contactfield" />
       
   204     <xs:element name="mobilephonework" minOccurs="0" maxOccurs="unbounded" type="contactfield" />
       
   205     <xs:element name="faxnumbergen" minOccurs="0" maxOccurs="unbounded" type="contactfield" />
       
   206     <xs:element name="faxnumberhome" minOccurs="0" maxOccurs="unbounded" type="contactfield" />
       
   207     <xs:element name="faxnumberwork" minOccurs="0" maxOccurs="unbounded" type="contactfield" />
       
   208     <xs:element name="pagernumber" minOccurs="0" maxOccurs="unbounded" type="contactfield" />
       
   209     <xs:element name="videonumbergen" minOccurs="0" maxOccurs="unbounded" type="contactfield" />
       
   210     <xs:element name="videonumberhome" minOccurs="0" maxOccurs="unbounded" type="contactfield" />
       
   211     <xs:element name="videonumberwork" minOccurs="0" maxOccurs="unbounded" type="contactfield" />
       
   212     <xs:element name="voipgen" minOccurs="0" maxOccurs="unbounded" type="contactfield" />
       
   213     <xs:element name="voiphome" minOccurs="0" maxOccurs="unbounded" type="contactfield" />
       
   214     <xs:element name="voipwork" minOccurs="0" maxOccurs="unbounded" type="contactfield" />
       
   215     <xs:element name="asstphone" minOccurs="0" maxOccurs="unbounded" type="contactfield" />
       
   216     <xs:element name="carphone" minOccurs="0" maxOccurs="unbounded" type="contactfield" />
       
   217     <xs:element name="urlgen" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   218     <xs:element name="urlhome" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   219     <xs:element name="urlwork" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   220     <xs:element name="emailgen" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   221     <xs:element name="emailhome" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   222     <xs:element name="emailwork" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   223     <xs:element name="ringtonepath" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   224     <xs:element name="ringtoneid" minOccurs="0" maxOccurs="unbounded" type="fileidfield" />
       
   225     <xs:element name="callerobjimg" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   226     <xs:element name="birthday" minOccurs="0" maxOccurs="unbounded" type="datetimeemptyfield" />
       
   227     <xs:element name="anniversary" minOccurs="0" maxOccurs="unbounded" type="datetimeemptyfield" />
       
   228     <xs:element name="synchronization" minOccurs="0" maxOccurs="unbounded" type="syncfield" />
       
   229   </xs:sequence>
       
   230 </xs:group>
       
   231   
       
   232 <xs:element name="contact">
       
   233   <xs:annotation>
       
   234     <xs:documentation>
       
   235       There are three different contact related elements: contact, contact-set and contactgroup. The contact element describes one
       
   236       contact in a database. The contact can be defined explicitly by giving the contact fields and their data, or it can just define the fields to be
       
   237       used and let the Creator fill the fields with random data. There can also be several same type of fields, for example multiple emailwork fields.
       
   238 
       
   239       When contact is defined without fields sub-element, a contact with all fields containing default length random data is created.
       
   240     </xs:documentation>
       
   241   </xs:annotation>
       
   242   <xs:complexType>
       
   243     <xs:sequence>
       
   244       <xs:element name="fields" minOccurs="0" maxOccurs="1">
       
   245         <xs:complexType>
       
   246           <xs:choice minOccurs="0" maxOccurs="unbounded">
       
   247             <xs:group ref="contactElements" minOccurs="0" maxOccurs="unbounded" />
       
   248           </xs:choice>
       
   249         </xs:complexType>
       
   250       </xs:element>
       
   251     </xs:sequence>
       
   252     <!-- If not given, amount="1" is assumed -->
       
   253     <xs:attribute name="amount" use="optional" type="xs:positiveInteger" />
       
   254   </xs:complexType>
       
   255 </xs:element>
       
   256 
       
   257 <xs:element name="contact-set">
       
   258   <xs:annotation>
       
   259     <xs:documentation>
       
   260       The contact-set element can be used to bind multiple contacts together and linking them to contactgroups, messages and
       
   261       calendars. When contact-set is used as a link target it must have a unique id attribute. See example usage of contact-set in
       
   262       contactEx.creatorxml.
       
   263     </xs:documentation>
       
   264   </xs:annotation>
       
   265   <xs:complexType>
       
   266     <xs:sequence>
       
   267       <xs:element ref="contact" minOccurs="0" maxOccurs="unbounded" />
       
   268     </xs:sequence>
       
   269     <xs:attribute name="id" use="required" type="xs:integer" />
       
   270     <xs:attribute name="numberofexistingcontacts" type="xs:integer" use="optional">
       
   271       <xs:annotation>
       
   272         <xs:documentation>
       
   273           Amount of members in the group. Indicates how many existing contacts should be taken to the set. 
       
   274         </xs:documentation>
       
   275       </xs:annotation>
       
   276     </xs:attribute>
       
   277   </xs:complexType>
       
   278 </xs:element>
       
   279 
       
   280 <xs:element name="contactgroup">
       
   281   <xs:annotation>
       
   282     <xs:documentation>
       
   283       The contactgroup element describes one contact group that should be created to the device's database. 
       
   284     </xs:documentation>
       
   285   </xs:annotation>
       
   286   <xs:complexType>
       
   287     <xs:sequence>
       
   288       <xs:element name="members" maxOccurs="1">
       
   289         <xs:complexType>
       
   290           <xs:sequence>
       
   291             <xs:element ref="contact-set-reference" maxOccurs="unbounded" />
       
   292           </xs:sequence>
       
   293         </xs:complexType>
       
   294       </xs:element>
       
   295     </xs:sequence>
       
   296     <xs:attribute name="name" type="xs:string" use="optional" />
       
   297   </xs:complexType>
       
   298 </xs:element>
       
   299 
       
   300 <xs:element name="calendar">
       
   301   <xs:annotation>
       
   302     <xs:documentation>
       
   303       Note: If alarmtime element is not set, alarm is set as not active and if alarmtime is set, alarm is set to active.
       
   304       Note: If recurrentfrequency is not set, or set to not-repeated recurrentinterval will be skipped, even if set.
       
   305     </xs:documentation>
       
   306   </xs:annotation>
       
   307   <xs:complexType>
       
   308     <xs:sequence>
       
   309       <xs:element name="fields">
       
   310         <xs:complexType>
       
   311           <xs:all>
       
   312             <xs:element name="summary" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   313             <xs:element name="description" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   314             <xs:element name="location" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   315             <xs:element name="starttime" minOccurs="0" maxOccurs="1" type="datetimeemptyfield" />
       
   316             <xs:element name="endtime" minOccurs="0" maxOccurs="1" type="datetimeemptyfield" />
       
   317             <xs:element name="creationperiodstartdate" minOccurs="0" maxOccurs="1" type="datetimeemptyfield" />
       
   318             <xs:element name="creationperiodenddate" minOccurs="0" maxOccurs="1" type="datetimeemptyfield" />
       
   319             <xs:element name="recurrentfrequency" minOccurs="0" maxOccurs="1" type="eventRecurrentfrequencyType" />
       
   320             <xs:element name="recurrentinterval" minOccurs="0" maxOccurs="1" type="xs:positiveInteger" />
       
   321             <xs:element name="recurrentfrom" minOccurs="0" maxOccurs="1" type="datetimeemptyfield" />
       
   322             <xs:element name="recurrentto" minOccurs="0" maxOccurs="1" type="datetimeemptyfield" />
       
   323             <xs:element name="alarmtime" minOccurs="0" maxOccurs="1" type="datetimeemptyfield" />
       
   324             <xs:element name="synchronization" minOccurs="0" maxOccurs="1" type="syncfield" />
       
   325             <xs:element name="organizername" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   326             <xs:element name="organizeremail" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   327             <xs:element name="status" minOccurs="0" maxOccurs="1" type="eventStatusType" />
       
   328             <xs:element name="priority" minOccurs="0" maxOccurs="1" type="eventPriorityType" />
       
   329             <xs:element ref="attendees" minOccurs="0" maxOccurs="1" />
       
   330           </xs:all>
       
   331         </xs:complexType>
       
   332       </xs:element>
       
   333     </xs:sequence>
       
   334     <!-- If not given, amount="1" is assumed -->
       
   335     <xs:attribute name="type" use="required" type="eventType" />
       
   336     <xs:attribute name="amount" use="optional" type="xs:positiveInteger" />
       
   337   </xs:complexType>
       
   338 </xs:element>
       
   339 
       
   340 <xs:simpleType name="eventType">
       
   341   <xs:restriction base="xs:string">
       
   342     <xs:enumeration value="appointment" />
       
   343     <xs:enumeration value="event" />
       
   344     <xs:enumeration value="reminder" />
       
   345     <xs:enumeration value="todo" />
       
   346     <xs:enumeration value="anniversary" />
       
   347   </xs:restriction>
       
   348 </xs:simpleType>
       
   349 
       
   350 <xs:simpleType name="eventRecurrentfrequencyType">
       
   351   <xs:restriction base="xs:string">
       
   352     <xs:enumeration value="not-repeated" />
       
   353     <xs:enumeration value="daily" />
       
   354     <xs:enumeration value="weekly" />
       
   355     <xs:enumeration value="monthly" />
       
   356     <xs:enumeration value="yearly" />
       
   357   </xs:restriction>
       
   358 </xs:simpleType>
       
   359 
       
   360 <xs:simpleType name="eventStatusType">
       
   361   <xs:restriction base="xs:string">
       
   362     <xs:enumeration value="tentative" />
       
   363     <xs:enumeration value="confirmed" />
       
   364     <xs:enumeration value="cancelled" />
       
   365     <xs:enumeration value="todoneedsaction" />
       
   366     <xs:enumeration value="todocompleted" />
       
   367     <xs:enumeration value="todoinprocess" />
       
   368     <xs:enumeration value="" /> <!-- allow empty content to enable random content to be generated -->
       
   369   </xs:restriction>
       
   370 </xs:simpleType>
       
   371     
       
   372 <xs:simpleType name="eventPriorityType">
       
   373   <xs:union>
       
   374     <xs:simpleType>
       
   375       <xs:restriction base="xs:integer">
       
   376         <xs:minInclusive value="0" />
       
   377         <xs:maxInclusive value="255" />
       
   378       </xs:restriction>
       
   379     </xs:simpleType>
       
   380     <xs:simpleType>
       
   381       <xs:restriction base="xs:string">
       
   382         <xs:enumeration value="high" />
       
   383         <xs:enumeration value="medium" />
       
   384         <xs:enumeration value="low" />
       
   385         <xs:enumeration value="" /> <!-- allow empty content to enable random content to be generated -->
       
   386       </xs:restriction>
       
   387     </xs:simpleType>
       
   388   </xs:union>
       
   389 </xs:simpleType>
       
   390 
       
   391 <xs:element name="attendees">
       
   392   <xs:complexType>
       
   393     <xs:sequence>
       
   394       <xs:element ref="contact-set-reference" minOccurs="0" maxOccurs="unbounded"/>
       
   395       <xs:element name="attendee" minOccurs="0" maxOccurs="unbounded">
       
   396         <xs:complexType>
       
   397           <xs:all>
       
   398             <xs:element name="commonname" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   399             <xs:element name="email" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   400             <xs:element name="role" minOccurs="0" maxOccurs="1" type="attendeeRoleType" />
       
   401             <xs:element name="status" minOccurs="0" maxOccurs="1" type="attendeeStatusType" />
       
   402           </xs:all>
       
   403         </xs:complexType>
       
   404       </xs:element>
       
   405     </xs:sequence>
       
   406   </xs:complexType>
       
   407 </xs:element>
       
   408 
       
   409 <xs:simpleType name="attendeeRoleType">
       
   410   <xs:restriction base="xs:string">
       
   411     <xs:enumeration value="required" />
       
   412     <xs:enumeration value="optional" />
       
   413     <xs:enumeration value="non-participant" />
       
   414     <xs:enumeration value="chair" />
       
   415   </xs:restriction>
       
   416 </xs:simpleType>
       
   417 
       
   418 <xs:simpleType name="attendeeStatusType">
       
   419   <xs:restriction base="xs:string">
       
   420     <xs:enumeration value="needsaction" />
       
   421     <xs:enumeration value="accepted" />
       
   422     <xs:enumeration value="tentative" />
       
   423     <xs:enumeration value="confirmed" />
       
   424     <xs:enumeration value="declined" />
       
   425     <xs:enumeration value="completed" />
       
   426     <xs:enumeration value="delegated" />
       
   427     <xs:enumeration value="inprocess" />
       
   428   </xs:restriction>
       
   429 </xs:simpleType>
       
   430     
       
   431 <xs:group name="bookmarkElements">
       
   432   <xs:sequence> <!-- Element order is fixed. This enables using both minOccurs="1" and maxOccurs="1". -->
       
   433     <xs:element name="name" minOccurs="1" maxOccurs="1" type="entityfield" />
       
   434     <xs:element name="url" minOccurs="1" maxOccurs="1" type="entityfield" />
       
   435     <xs:element name="username" minOccurs="1" maxOccurs="1" type="entityfield" />
       
   436     <xs:element name="password" minOccurs="1" maxOccurs="1" type="entityfield" />
       
   437   </xs:sequence>
       
   438 </xs:group>
       
   439 
       
   440 <xs:element name="bookmark">
       
   441   <xs:complexType>
       
   442     <xs:sequence>
       
   443       <xs:element name="fields">
       
   444         <xs:complexType>
       
   445           <xs:choice minOccurs="0" maxOccurs="1">
       
   446             <xs:group ref="randomElements" minOccurs="0" maxOccurs="1" />
       
   447             <xs:group ref="bookmarkElements" minOccurs="0" maxOccurs="1" />
       
   448           </xs:choice>
       
   449         </xs:complexType>
       
   450       </xs:element>
       
   451     </xs:sequence>
       
   452     <!-- If not given, amount="1" is assumed -->
       
   453     <xs:attribute name="amount" use="optional" type="xs:positiveInteger" />
       
   454   </xs:complexType>
       
   455 </xs:element>
       
   456 
       
   457 <xs:element name="bookmarkfolder">
       
   458   <xs:complexType>
       
   459     <xs:sequence>
       
   460       <xs:element name="fields" maxOccurs="1">
       
   461         <xs:complexType>
       
   462           <xs:sequence>
       
   463             <xs:element name="name" minOccurs="1" maxOccurs="1" type="entityfield"/>
       
   464           </xs:sequence>
       
   465         </xs:complexType>
       
   466       </xs:element>
       
   467     </xs:sequence>
       
   468     <xs:attribute name="amount" use="optional" type="xs:positiveInteger"/>
       
   469   </xs:complexType>
       
   470 </xs:element>
       
   471 
       
   472 <xs:group name="savedpageElements">
       
   473   <xs:sequence>
       
   474     <xs:element name="name" minOccurs="1" maxOccurs="1" type="entityfield" />
       
   475     <xs:element name="path" minOccurs="1" maxOccurs="1" type="entityfield" />
       
   476   </xs:sequence>
       
   477 </xs:group>
       
   478 
       
   479 <xs:group name="savedpageElementsReverse">
       
   480   <xs:sequence>
       
   481     <xs:element name="path" minOccurs="1" maxOccurs="1" type="entityfield" />
       
   482     <xs:element name="name" minOccurs="1" maxOccurs="1" type="entityfield" />
       
   483   </xs:sequence>
       
   484 </xs:group>
       
   485 
       
   486 <xs:element name="savedpage">
       
   487   <xs:complexType>
       
   488     <xs:sequence>
       
   489       <xs:element name="fields" maxOccurs="1">
       
   490         <xs:complexType>
       
   491           <xs:choice minOccurs="0" maxOccurs="1">
       
   492             <xs:group ref="randomElements" minOccurs="0" maxOccurs="1" />
       
   493             <xs:group ref="savedpageElements" minOccurs="0" maxOccurs="1" />
       
   494             <xs:group ref="savedpageElementsReverse" minOccurs="0" maxOccurs="1" />
       
   495           </xs:choice>
       
   496           <!-- If not given, amount="1" is assumed -->
       
   497           <xs:attribute name="amount" use="optional" type="xs:positiveInteger" />
       
   498         </xs:complexType>
       
   499       </xs:element>
       
   500     </xs:sequence>
       
   501   </xs:complexType>
       
   502 </xs:element>
       
   503 
       
   504 <xs:element name="savedpagefolder">
       
   505   <xs:complexType>
       
   506     <xs:sequence>
       
   507       <xs:element name="fields" maxOccurs="1">
       
   508         <xs:complexType>
       
   509           <xs:all>
       
   510             <xs:element name="name" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   511           </xs:all>
       
   512         </xs:complexType>
       
   513       </xs:element>
       
   514     </xs:sequence>
       
   515     <!-- If not given, amount="1" is assumed -->
       
   516     <xs:attribute name="amount" use="optional" type="xs:positiveInteger" />
       
   517   </xs:complexType>
       
   518 </xs:element>
       
   519 
       
   520 <xs:element name="note">
       
   521   <xs:complexType>
       
   522     <xs:sequence>
       
   523       <xs:element name="fields" maxOccurs="1">
       
   524         <xs:complexType>
       
   525           <xs:sequence>
       
   526             <xs:element name="text" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   527           </xs:sequence>
       
   528         </xs:complexType>
       
   529       </xs:element>
       
   530     </xs:sequence>
       
   531     <!-- If not given, amount="1" is assumed -->
       
   532     <xs:attribute name="amount" use="optional" type="xs:positiveInteger" />
       
   533   </xs:complexType>
       
   534 </xs:element>
       
   535 
       
   536 <xs:element name="log">
       
   537   <xs:complexType>
       
   538     <xs:sequence>
       
   539       <xs:element name="fields" maxOccurs="1">
       
   540         <xs:complexType>
       
   541           <xs:all>
       
   542             <xs:element name="direction" minOccurs="1" maxOccurs="1" type="logDirectionType" />
       
   543             <xs:element name="datetime" minOccurs="1" maxOccurs="1" type="entityfield" />
       
   544             <xs:element name="phonenumber" minOccurs="1" maxOccurs="1" type="entityfield" />
       
   545             <xs:element name="duration" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   546           </xs:all>
       
   547         </xs:complexType>
       
   548       </xs:element>
       
   549     </xs:sequence>
       
   550     <!-- If not given, amount="1" is assumed -->
       
   551     <xs:attribute name="amount" use="optional" type="xs:positiveInteger" />
       
   552   </xs:complexType>
       
   553 </xs:element>
       
   554 
       
   555 <xs:simpleType name="logDirectionType">
       
   556   <xs:restriction base="xs:string">
       
   557     <xs:enumeration value="missed" />
       
   558     <xs:enumeration value="in" />
       
   559     <xs:enumeration value="out" />
       
   560     <xs:enumeration value="" /> <!-- allow empty content to enable random content to be generated -->
       
   561   </xs:restriction>
       
   562 </xs:simpleType>
       
   563 
       
   564 <xs:element name="connectionmethod">
       
   565   <xs:complexType>
       
   566     <xs:sequence>
       
   567       <xs:element name="fields" maxOccurs="1">
       
   568         <xs:complexType>
       
   569           <xs:all>
       
   570             <xs:element name="connectionname" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   571             <xs:element name="bearertype" minOccurs="0" maxOccurs="1" type="connBearerType" />
       
   572             <xs:element name="startpage" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   573             <xs:element name="wapwspoption" minOccurs="0" maxOccurs="1" type="wapwspoptionType" />
       
   574             <xs:element name="protocoltype" minOccurs="0" maxOccurs="1" type="connProtocolType" />
       
   575             <xs:element name="loginname" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   576             <xs:element name="secureauthentication" minOccurs="0" maxOccurs="1" type="yesNoType" />
       
   577             <xs:element name="loginpass" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   578             <xs:element name="promptpassword" minOccurs="0" maxOccurs="1" type="yesNoType" />
       
   579             <xs:element name="gatewayaddress" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   580             <xs:element name="subnetmask" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   581             <xs:element name="deviceipaddr" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   582             <xs:element name="ip4nameserver1" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   583             <xs:element name="ip4nameserver2" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   584             <xs:element name="datacalltelnumber" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   585             <xs:element name="datacalltypeisdn" minOccurs="0" maxOccurs="1" type="datacalltypeisdnType" />
       
   586             <xs:element name="datacalllinespeed" minOccurs="0" maxOccurs="1" type="datacalllinespeedType" />
       
   587             <xs:element name="useproxy" minOccurs="0" maxOccurs="1" type="yesNoType" />
       
   588             <xs:element name="proxyserveraddress" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   589             <xs:element name="proxyportnumber" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   590             <xs:element name="ip6nameserver1" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   591             <xs:element name="ip6nameserver2" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   592             <xs:element name="disabletextauth" minOccurs="0" maxOccurs="1" type="yesNoType" />
       
   593             <xs:element name="wlanname" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   594             <xs:element name="wlanipaddr" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   595             <xs:element name="wlansecmode" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   596             <xs:element name="wlannetmode" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   597           </xs:all>
       
   598         </xs:complexType>
       
   599       </xs:element>
       
   600     </xs:sequence>
       
   601     <!-- If not given, amount="1" is assumed -->
       
   602     <xs:attribute name="amount" use="optional" type="xs:positiveInteger" />
       
   603   </xs:complexType>
       
   604 </xs:element>
       
   605 
       
   606 <xs:simpleType name="connBearerEnumType"> 
       
   607   <xs:restriction base="xs:string">
       
   608     <xs:enumeration value="WLAN" />
       
   609     <xs:enumeration value="GPRS" />
       
   610     <xs:enumeration value="datacall" />
       
   611     <xs:enumeration value="HSGSM" />
       
   612     <xs:enumeration value="embedded" />
       
   613     <xs:enumeration value="VPN" />
       
   614     <xs:enumeration value="LAN" />
       
   615     <xs:enumeration value="" /> <!-- allow empty content to enable random content to be generated -->
       
   616   </xs:restriction>
       
   617 </xs:simpleType>
       
   618 
       
   619 <xs:complexType name="connBearerType"> <!-- type with both enum value restriction and randomlength attribute  -->
       
   620   <xs:simpleContent>
       
   621     <xs:extension base="connBearerEnumType">
       
   622       <xs:attribute name="randomlength" type="xs:string" use="optional" />
       
   623     </xs:extension>
       
   624   </xs:simpleContent>
       
   625 </xs:complexType>
       
   626 
       
   627 <xs:simpleType name="connProtocolEnumType"> 
       
   628   <xs:restriction base="xs:string">
       
   629     <xs:enumeration value="IPV4" />
       
   630     <xs:enumeration value="ipv4" />
       
   631     <xs:enumeration value="Ipv4" />
       
   632     <xs:enumeration value="iPv4" />
       
   633     <xs:enumeration value="ipV4" />
       
   634     <xs:enumeration value="IPv4" />
       
   635     <xs:enumeration value="IpV4" />
       
   636     <xs:enumeration value="iPV4" />
       
   637     <xs:enumeration value="IPV6" />
       
   638     <xs:enumeration value="ipv6" />
       
   639     <xs:enumeration value="Ipv6" />
       
   640     <xs:enumeration value="iPv6" />
       
   641     <xs:enumeration value="ipV6" />
       
   642     <xs:enumeration value="IPv6" />
       
   643     <xs:enumeration value="IpV6" />
       
   644     <xs:enumeration value="iPV6" />
       
   645     <xs:enumeration value="" /> <!-- allow empty content to enable random content to be generated -->
       
   646   </xs:restriction>
       
   647 </xs:simpleType>
       
   648 
       
   649 <xs:complexType name="connProtocolType"> <!-- type with both enum value restriction and randomlength attribute  -->
       
   650   <xs:simpleContent>
       
   651     <xs:extension base="connProtocolEnumType">
       
   652       <xs:attribute name="randomlength" type="xs:string" use="optional" />
       
   653     </xs:extension>
       
   654   </xs:simpleContent>
       
   655 </xs:complexType>
       
   656 
       
   657 <xs:simpleType name="datacalltypeisdnEnumType"> 
       
   658   <xs:restriction base="xs:string">
       
   659     <xs:enumeration value="analogue" />
       
   660     <xs:enumeration value="isdnv110" />
       
   661     <xs:enumeration value="isdnv120" />
       
   662     <xs:enumeration value="" /> <!-- allow empty content to enable random content to be generated -->
       
   663   </xs:restriction>
       
   664 </xs:simpleType>
       
   665 
       
   666 <xs:complexType name="datacalltypeisdnType"> <!-- type with both enum value restriction and randomlength attribute  -->
       
   667   <xs:simpleContent>
       
   668     <xs:extension base="datacalltypeisdnEnumType">
       
   669       <xs:attribute name="randomlength" type="xs:string" use="optional" />
       
   670     </xs:extension>
       
   671   </xs:simpleContent>
       
   672 </xs:complexType>
       
   673 
       
   674 <xs:simpleType name="datacalllinespeedEnumType">
       
   675   <xs:restriction base="xs:string">
       
   676     <xs:enumeration value="automatic" />
       
   677     <xs:enumeration value="9600" />
       
   678     <xs:enumeration value="14400" />
       
   679     <xs:enumeration value="19200" />
       
   680     <xs:enumeration value="28800" />
       
   681     <xs:enumeration value="38400" />
       
   682     <xs:enumeration value="43200" />
       
   683     <xs:enumeration value="56000" />
       
   684     <xs:enumeration value="" /> <!-- allow empty content to enable random content to be generated -->
       
   685   </xs:restriction>
       
   686 </xs:simpleType>
       
   687 
       
   688 <xs:complexType name="datacalllinespeedType"> <!-- type with both enum value restriction and randomlength attribute  -->
       
   689   <xs:simpleContent>
       
   690     <xs:extension base="datacalllinespeedEnumType">
       
   691       <xs:attribute name="randomlength" type="xs:string" use="optional" />
       
   692     </xs:extension>
       
   693   </xs:simpleContent>
       
   694 </xs:complexType>
       
   695 
       
   696 <xs:simpleType name="wapwspoptionEnumType">
       
   697   <xs:restriction base="xs:string">
       
   698     <xs:enumeration value="connectionless" />
       
   699     <xs:enumeration value="connectionoriented" />
       
   700     <xs:enumeration value="" /> <!-- allow empty content to enable random content to be generated -->
       
   701   </xs:restriction>
       
   702 </xs:simpleType>
       
   703 
       
   704 <xs:complexType name="wapwspoptionType"> <!-- type with both enum value restriction and randomlength attribute  -->
       
   705   <xs:simpleContent>
       
   706     <xs:extension base="wapwspoptionEnumType">
       
   707       <xs:attribute name="randomlength" type="xs:string" use="optional" />
       
   708     </xs:extension>
       
   709   </xs:simpleContent>
       
   710 </xs:complexType>
       
   711 
       
   712 <xs:element name="mailbox">
       
   713   <xs:complexType>
       
   714     <xs:sequence>
       
   715       <xs:element name="fields" maxOccurs="1">
       
   716         <xs:complexType>
       
   717           <xs:all>
       
   718             <xs:element name="name" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   719             <!-- Incoming mail (POP3/IMAP4) settings -->
       
   720             <xs:element name="incomingport" minOccurs="0" maxOccurs="1" type="positiveIntegerEmptyType" />
       
   721 
       
   722             <!-- Specifies whether a secure TLS connection will be established directly over a TLS socket when connecting to the email server -->
       
   723             <xs:element name="incomingsslwrapper" minOccurs="0" maxOccurs="1" type="yesNoType" />
       
   724             <!-- Specifies whether a secure socket session will be negotiated after establishing a non-secure TCP connection with the email server -->
       
   725             <xs:element name="incomingsecuresockets" minOccurs="0" maxOccurs="1" type="yesNoType" />
       
   726             <xs:element name="incomingloginname" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   727             <xs:element name="incomingpassword" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   728             <xs:element name="incomingservername" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   729             <xs:element name="incomingconnectionmethod" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   730             <!-- Send return receipts to senders -->
       
   731             <xs:element name="acknowledgereceipts" minOccurs="0" maxOccurs="1" type="yesNoType" />
       
   732             <!-- maximum attachment size limit for the partial fetch of attachments in a message -->
       
   733             <xs:element name="attachmentsizelimit" minOccurs="0" maxOccurs="1" type="integerEmptyType" />
       
   734             <xs:element name="autosendonconnect" minOccurs="0" maxOccurs="1" type="yesNoType" />
       
   735             <xs:element name="bodytextsizelimit" minOccurs="0" maxOccurs="1" type="integerEmptyType" />
       
   736             <xs:element name="deletemailsatdisconnect" minOccurs="0" maxOccurs="1" type="yesNoType" />
       
   737             <!-- Specifies the IMAP fetch size in bytes -->
       
   738             <xs:element name="attachmentfetchsize" minOccurs="0" maxOccurs="1" type="positiveIntegerEmptyType" />
       
   739             <xs:element name="incomingfolderpath" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   740             <xs:element name="pathseparator" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   741             <xs:element name="getemailoptions" minOccurs="0" maxOccurs="1" type="getEmailOptionsType" />
       
   742             <!-- Specifies whether the IMAP IDLE command should be used as defined in RFC2177 -->
       
   743             <xs:element name="imapidlecommand" minOccurs="0" maxOccurs="1" type="yesNoType" />
       
   744             <xs:element name="imapidletimeout" minOccurs="0" maxOccurs="1" type="xs:positiveInteger" />
       
   745             <!-- Sets the maximum message size in bytes to be downloaded -->
       
   746             <xs:element name="maxemailsize" minOccurs="0" maxOccurs="1" type="xs:positiveInteger" />
       
   747             <!-- Sets the method for synchronising IMAP4 subscription information with a server -->
       
   748             <xs:element name="subscribetype" minOccurs="0" maxOccurs="1" type="mailboxSubscribeType" />
       
   749             <!-- Specifies the rate in seconds at which the Inbox will be refreshed when connected -->
       
   750             <xs:element name="syncrate" minOccurs="0" maxOccurs="1" type="xs:positiveInteger" />
       
   751             <!-- Sets the method for synchronising folder information with the server -->
       
   752             <xs:element name="foldersynctype" minOccurs="0" maxOccurs="1" type="mailboxFolderSyncType" />
       
   753             <!-- Specifies whether the seen flag is to be set on the IMAP4 server during synchronisation only when the message has been marked as read -->
       
   754             <xs:element name="markseeninsync" minOccurs="0" maxOccurs="1" type="yesNoType" />
       
   755             <xs:element name="enableexpungemode" minOccurs="0" maxOccurs="1" type="yesNoType" />
       
   756             <xs:element name="useapopsecurelogin" minOccurs="0" maxOccurs="1" type="yesNoType" />
       
   757             <xs:element name="inboxsynclimit" minOccurs="0" maxOccurs="1" type="syncLimitType" />
       
   758             <xs:element name="mailboxsynclimit" minOccurs="0" maxOccurs="1" type="syncLimitType" />
       
   759             <xs:element name="disconnectedusermode" minOccurs="0" maxOccurs="1" type="yesNoType" />
       
   760 
       
   761             <!-- Outgoing mail (SMTP) settings -->
       
   762             <xs:element name="outgoingport" minOccurs="0" maxOccurs="1" type="xs:positiveInteger" />
       
   763             <xs:element name="outgoingsslwrapper" minOccurs="0" maxOccurs="1" type="yesNoType" />
       
   764             <xs:element name="outgoingsecuresockets" minOccurs="0" maxOccurs="1" type="yesNoType" />
       
   765             <xs:element name="outgoingloginname" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   766             <xs:element name="outgoingpassword" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   767             <xs:element name="outgoingservername" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   768             <xs:element name="outgoingconnectionmethod" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   769             <xs:element name="includesignature" minOccurs="0" maxOccurs="1" type="yesNoType" />
       
   770             <xs:element name="addvcard" minOccurs="0" maxOccurs="1" type="yesNoType" />
       
   771             <xs:element name="ownemail" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   772             <xs:element name="emailalias" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   773             <xs:element name="receiptaddress" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   774             <xs:element name="replytoaddress" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   775             <xs:element name="requestreceipts" minOccurs="0" maxOccurs="1" type="yesNoType" />
       
   776             <xs:element name="smtpauth" minOccurs="0" maxOccurs="1" type="yesNoType" />
       
   777             <xs:element name="copytoself" minOccurs="0" maxOccurs="1" type="copyToSelfType" />
       
   778             <xs:element name="sendoption" minOccurs="0" maxOccurs="1" type="sendOptionType" />
       
   779             <xs:element name="toccincludelimit" minOccurs="0" maxOccurs="1" type="integerEmptyType" />
       
   780           </xs:all>
       
   781         </xs:complexType>
       
   782       </xs:element>
       
   783     </xs:sequence>
       
   784     <!-- If not given, amount="1" is assumed -->
       
   785     <xs:attribute name="amount" use="optional" type="xs:positiveInteger" />
       
   786     <xs:attribute name="type" use="required" type="mailboxType" />
       
   787   </xs:complexType>
       
   788 </xs:element>
       
   789 
       
   790 <xs:simpleType name="mailboxType">
       
   791   <xs:restriction base="xs:string">
       
   792     <xs:enumeration value="POP3" />
       
   793     <xs:enumeration value="IMAP4" />
       
   794     <xs:enumeration value="syncml" />
       
   795     <xs:enumeration value="" /> <!-- allow empty content to enable random content to be generated -->
       
   796   </xs:restriction>
       
   797 </xs:simpleType>
       
   798 
       
   799 <xs:simpleType name="yesNoEnumType">
       
   800   <xs:restriction base="xs:string">
       
   801     <xs:enumeration value="yes" />
       
   802     <xs:enumeration value="no" />
       
   803     <xs:enumeration value="" /> <!-- allow empty content to enable random content to be generated -->
       
   804   </xs:restriction>
       
   805 </xs:simpleType>
       
   806 
       
   807 <xs:complexType name="yesNoType"> <!-- type with both enum value restriction and randomlength attribute  -->
       
   808   <xs:simpleContent>
       
   809     <xs:extension base="yesNoEnumType">
       
   810       <xs:attribute name="randomlength" type="xs:string" use="optional" />
       
   811     </xs:extension>
       
   812   </xs:simpleContent>
       
   813 </xs:complexType>
       
   814 
       
   815 <xs:simpleType name="getEmailOptionsEnumType">
       
   816   <xs:restriction base="xs:string">
       
   817     <xs:enumeration value="getheaders" />
       
   818     <xs:enumeration value="getbodytext" />
       
   819     <xs:enumeration value="getbodytextandattachments" />
       
   820     <xs:enumeration value="getattachments" />
       
   821     <xs:enumeration value="getbodyalternativetext" />
       
   822     <xs:enumeration value="" /> <!-- allow empty content to enable random content to be generated -->
       
   823   </xs:restriction>
       
   824 </xs:simpleType>
       
   825 
       
   826 <xs:complexType name="getEmailOptionsType"> <!-- type with both enum value restriction and randomlength attribute  -->
       
   827   <xs:simpleContent>
       
   828     <xs:extension base="getEmailOptionsEnumType">
       
   829       <xs:attribute name="randomlength" type="xs:string" use="optional" />
       
   830     </xs:extension>
       
   831   </xs:simpleContent>
       
   832 </xs:complexType>
       
   833 
       
   834 <xs:simpleType name="syncLimitEnumType">
       
   835   <xs:union>
       
   836     <xs:simpleType>
       
   837       <xs:restriction base="xs:integer">
       
   838         <xs:minInclusive value="1" />
       
   839         <xs:maxInclusive value="999" />
       
   840       </xs:restriction>
       
   841     </xs:simpleType>
       
   842     <xs:simpleType>
       
   843       <xs:restriction base="xs:string">
       
   844         <xs:enumeration value="all" />
       
   845         <xs:enumeration value="" /> <!-- allow empty content to enable random content to be generated -->
       
   846       </xs:restriction>
       
   847     </xs:simpleType>
       
   848   </xs:union>
       
   849 </xs:simpleType>
       
   850 
       
   851 <xs:complexType name="syncLimitType"> <!-- type with both enum value restriction and randomlength attribute  -->
       
   852   <xs:simpleContent>
       
   853     <xs:extension base="syncLimitEnumType">
       
   854       <xs:attribute name="randomlength" type="xs:string" use="optional" />
       
   855     </xs:extension>
       
   856   </xs:simpleContent>
       
   857 </xs:complexType>
       
   858 
       
   859 <xs:simpleType name="mailboxSubscribeEnumType">
       
   860   <xs:restriction base="xs:string">
       
   861     <xs:enumeration value="updateneither" />
       
   862     <xs:enumeration value="updatelocal" />
       
   863     <xs:enumeration value="updateremote" />
       
   864     <xs:enumeration value="updateboth" />
       
   865     <xs:enumeration value="" /> <!-- allow empty content to enable random content to be generated -->
       
   866   </xs:restriction>
       
   867 </xs:simpleType>
       
   868 
       
   869 <xs:complexType name="mailboxSubscribeType"> <!-- type with both enum value restriction and randomlength attribute  -->
       
   870   <xs:simpleContent>
       
   871     <xs:extension base="mailboxSubscribeEnumType">
       
   872       <xs:attribute name="randomlength" type="xs:string" use="optional" />
       
   873     </xs:extension>
       
   874   </xs:simpleContent>
       
   875 </xs:complexType>
       
   876 
       
   877 <xs:simpleType name="mailboxFolderSyncEnumType">
       
   878   <xs:restriction base="xs:string">
       
   879     <xs:enumeration value="usecombination" />
       
   880     <xs:enumeration value="uselocal" />
       
   881     <xs:enumeration value="useremote" />
       
   882     <xs:enumeration value="" /> <!-- allow empty content to enable random content to be generated -->
       
   883   </xs:restriction>
       
   884 </xs:simpleType>
       
   885 
       
   886 <xs:complexType name="mailboxFolderSyncType"> <!-- type with both enum value restriction and randomlength attribute  -->
       
   887   <xs:simpleContent>
       
   888     <xs:extension base="mailboxFolderSyncEnumType">
       
   889       <xs:attribute name="randomlength" type="xs:string" use="optional" />
       
   890     </xs:extension>
       
   891   </xs:simpleContent>
       
   892 </xs:complexType>
       
   893 
       
   894 <xs:simpleType name="copyToSelfEnumType">
       
   895   <xs:restriction base="xs:string">
       
   896     <xs:enumeration value="no" />
       
   897     <xs:enumeration value="to" />
       
   898     <xs:enumeration value="cc" />
       
   899     <xs:enumeration value="bcc" />
       
   900     <xs:enumeration value="" /> <!-- allow empty content to enable random content to be generated -->
       
   901   </xs:restriction>
       
   902 </xs:simpleType>
       
   903 
       
   904 <xs:complexType name="copyToSelfType"> <!-- type with both enum value restriction and randomlength attribute  -->
       
   905   <xs:simpleContent>
       
   906     <xs:extension base="copyToSelfEnumType">
       
   907       <xs:attribute name="randomlength" type="xs:string" use="optional" />
       
   908     </xs:extension>
       
   909   </xs:simpleContent>
       
   910 </xs:complexType>
       
   911 
       
   912 <xs:simpleType name="sendOptionEnumType">
       
   913   <xs:restriction base="xs:string">
       
   914     <xs:enumeration value="immediately" />
       
   915     <xs:enumeration value="onnextconnection" />
       
   916     <xs:enumeration value="onrequest" />
       
   917     <xs:enumeration value="" /> <!-- allow empty content to enable random content to be generated -->
       
   918   </xs:restriction>
       
   919 </xs:simpleType>
       
   920 
       
   921 <xs:complexType name="sendOptionType"> <!-- type with both enum value restriction and randomlength attribute  -->
       
   922   <xs:simpleContent>
       
   923     <xs:extension base="sendOptionEnumType">
       
   924       <xs:attribute name="randomlength" type="xs:string" use="optional" />
       
   925     </xs:extension>
       
   926   </xs:simpleContent>
       
   927 </xs:complexType>
       
   928 
       
   929 <xs:element name="message">
       
   930   <xs:complexType>
       
   931     <xs:sequence>
       
   932       <xs:element name="fields" maxOccurs="1">
       
   933         <xs:complexType>
       
   934           <xs:sequence> <!-- Element order is fixed. This enables using both maxOccurs="unbounded" and maxOccurs="1". -->
       
   935             <xs:element name="to" minOccurs="0" maxOccurs="unbounded" type="contactfield"/>
       
   936             <xs:element name="from" minOccurs="0" maxOccurs="1" type="contactfield"/>
       
   937             <xs:element name="folder" minOccurs="0" maxOccurs="1" type="messageFolderType" />
       
   938             <xs:element name="subject" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   939             <xs:element name="text" minOccurs="0" maxOccurs="1" type="entityfield" />
       
   940             <xs:element name="status" minOccurs="0" maxOccurs="1" type="messageStatusType" />
       
   941             <xs:element name="smartmessagetype" minOccurs="0" maxOccurs="1" type="smartMessageType" />
       
   942             <xs:element name="attachmentpath" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
   943             <xs:element name="attachmentid" minOccurs="0" maxOccurs="unbounded" type="fileidfield" />
       
   944           </xs:sequence>
       
   945         </xs:complexType>
       
   946       </xs:element>
       
   947     </xs:sequence>
       
   948     <!-- If not given, amount="1" is assumed -->
       
   949     <xs:attribute name="amount" use="optional" type="xs:positiveInteger" />
       
   950     <xs:attribute name="type" use="required" type="messageType" />
       
   951   </xs:complexType>
       
   952 </xs:element>
       
   953 
       
   954 <xs:simpleType name="messageType">
       
   955   <xs:restriction base="xs:string">
       
   956     <xs:enumeration value="sms" />
       
   957     <xs:enumeration value="mms" />
       
   958     <xs:enumeration value="ams" />
       
   959     <xs:enumeration value="email" />
       
   960     <xs:enumeration value="smart" />
       
   961     <xs:enumeration value="ir" />
       
   962     <xs:enumeration value="bt" />
       
   963   </xs:restriction>
       
   964 </xs:simpleType>
       
   965 
       
   966 <xs:simpleType name="messageFolderType">
       
   967   <xs:restriction base="xs:string">
       
   968     <xs:enumeration value="sent" />
       
   969     <xs:enumeration value="inbox" />
       
   970     <xs:enumeration value="draft" />
       
   971     <xs:enumeration value="outbox" />
       
   972     <xs:enumeration value="" /> <!-- allow empty content to enable random content to be generated -->
       
   973   </xs:restriction>
       
   974 </xs:simpleType>
       
   975 
       
   976 <xs:simpleType name="messageStatusType">
       
   977   <xs:restriction base="xs:string">
       
   978     <xs:enumeration value="read" />
       
   979     <xs:enumeration value="new" />
       
   980     <xs:enumeration value="" /> <!-- allow empty content to enable random content to be generated -->
       
   981   </xs:restriction>
       
   982 </xs:simpleType>
       
   983 
       
   984 <xs:simpleType name="smartMessageType"> <!-- Currently not supported by S60 Creator -->
       
   985   <xs:restriction base="xs:string">
       
   986     <xs:enumeration value="internetsettings" />
       
   987     <xs:enumeration value="emailnotification" />
       
   988     <xs:enumeration value="businesscard" />
       
   989     <xs:enumeration value="wapsettings" />
       
   990     <xs:enumeration value="vcalendar" />
       
   991     <xs:enumeration value="vcard" />
       
   992     <xs:enumeration value="ringtone" />
       
   993     <xs:enumeration value="operatorlogo" />
       
   994     <xs:enumeration value="wapprovisioning" />
       
   995     <xs:enumeration value="clilogo" />
       
   996   </xs:restriction>
       
   997 </xs:simpleType>
       
   998 
       
   999 <xs:group name="impsserverElements">
       
  1000   <xs:sequence> <!-- Element order is fixed. This enables using both minOccurs="1" and maxOccurs="1". -->
       
  1001     <xs:element name="name" minOccurs="1" maxOccurs="1" type="entityfield" />
       
  1002     <xs:element name="url" minOccurs="1" maxOccurs="1" type="entityfield" />
       
  1003     <xs:element name="username" minOccurs="1" maxOccurs="1" type="entityfield" />
       
  1004     <xs:element name="password" minOccurs="1" maxOccurs="1" type="entityfield" />
       
  1005     <xs:element name="connectionmethodname" minOccurs="1" maxOccurs="1" type="entityfield" />
       
  1006   </xs:sequence>
       
  1007 </xs:group>
       
  1008  
       
  1009 <xs:element name="impsserver">
       
  1010   <xs:complexType>
       
  1011     <xs:sequence>
       
  1012       <xs:element name="fields" maxOccurs="1">
       
  1013         <xs:complexType>
       
  1014           <xs:choice minOccurs="0" maxOccurs="1">
       
  1015             <xs:group ref="randomElements" minOccurs="0" maxOccurs="1" />
       
  1016             <xs:group ref="impsserverElements" minOccurs="0" maxOccurs="1" />
       
  1017           </xs:choice>
       
  1018         </xs:complexType>
       
  1019       </xs:element>
       
  1020     </xs:sequence>
       
  1021     <!-- If not given, amount="1" is assumed -->
       
  1022     <xs:attribute name="amount" use="optional" type="xs:positiveInteger" />
       
  1023   </xs:complexType>
       
  1024 </xs:element>
       
  1025  
       
  1026 <xs:element name="file">
       
  1027   <xs:annotation>
       
  1028     <xs:documentation>
       
  1029       Note: If type is not set, a directory will be created. 
       
  1030     </xs:documentation>
       
  1031   </xs:annotation>
       
  1032   <xs:complexType>
       
  1033     <xs:sequence>
       
  1034       <xs:element name="fields" maxOccurs="1">
       
  1035         <xs:complexType>
       
  1036           <xs:all>
       
  1037             <xs:element name="type" minOccurs="1" maxOccurs="1" type="fileidfield" />
       
  1038             <xs:element name="directory" minOccurs="1" maxOccurs="1" type="entityfield" />
       
  1039             <xs:element ref="encryption" minOccurs="0" maxOccurs="1" />
       
  1040           </xs:all>
       
  1041         </xs:complexType>
       
  1042       </xs:element>
       
  1043     </xs:sequence>
       
  1044     <!-- If not given, amount="1" is assumed -->
       
  1045     <xs:attribute name="amount" use="optional" type="xs:positiveInteger" />
       
  1046   </xs:complexType>
       
  1047 </xs:element>
       
  1048 
       
  1049 <xs:element name="encryption"> <!-- Random values not supported inside encryption element -->
       
  1050   <xs:complexType>
       
  1051     <xs:sequence>
       
  1052       <xs:element ref="right" minOccurs="0" maxOccurs="4" />
       
  1053     </xs:sequence>
       
  1054     <xs:attribute name="type" use="required">
       
  1055       <xs:simpleType>
       
  1056         <xs:restriction base="xs:string">
       
  1057           <xs:enumeration value="DRM-FL" />
       
  1058           <xs:enumeration value="DRM-CD" />
       
  1059         </xs:restriction>
       
  1060       </xs:simpleType>
       
  1061     </xs:attribute>
       
  1062   </xs:complexType>
       
  1063 </xs:element>
       
  1064 
       
  1065 <xs:element name="right">
       
  1066   <xs:complexType>
       
  1067     <xs:all>
       
  1068       <xs:element name="count" minOccurs="0" maxOccurs="1" type="xs:nonNegativeInteger" />
       
  1069       <xs:element name="starttime" minOccurs="0" maxOccurs="1" type="datetimefield" />
       
  1070       <xs:element name="endtime" minOccurs="0" maxOccurs="1" type="datetimefield" />
       
  1071       <xs:element name="interval" minOccurs="0" maxOccurs="1" type="xs:duration" />
       
  1072       <xs:element name="accumulated" minOccurs="0" maxOccurs="1" type="xs:duration" />
       
  1073     </xs:all>
       
  1074     <xs:attribute name="type" default="display">
       
  1075       <xs:simpleType>
       
  1076         <xs:restriction base="xs:string">
       
  1077           <xs:enumeration value="play" />
       
  1078           <xs:enumeration value="display" />
       
  1079           <xs:enumeration value="execute" />
       
  1080           <xs:enumeration value="print" />
       
  1081         </xs:restriction>
       
  1082       </xs:simpleType>
       
  1083     </xs:attribute>
       
  1084   </xs:complexType>
       
  1085 </xs:element>
       
  1086 
       
  1087 <xs:element name="landmark">
       
  1088   <xs:complexType>
       
  1089     <xs:sequence>
       
  1090       <xs:element name="fields" maxOccurs="1">
       
  1091         <xs:complexType>
       
  1092           <xs:sequence> <!-- Element order is fixed. This enables using both maxOccurs="unbounded" and maxOccurs="1". -->
       
  1093             <xs:element name="name" minOccurs="0" maxOccurs="1" type="entityfield" />
       
  1094             <xs:element name="category" minOccurs="0" maxOccurs="unbounded" type="entityfield" />
       
  1095             <xs:element name="description" minOccurs="0" maxOccurs="1" type="entityfield" />
       
  1096             <xs:element name="street" minOccurs="0" maxOccurs="1" type="entityfield" />
       
  1097             <xs:element name="postalcode" minOccurs="0" maxOccurs="1" type="entityfield" />
       
  1098             <xs:element name="city" minOccurs="0" maxOccurs="1" type="entityfield" />
       
  1099             <xs:element name="state" minOccurs="0" maxOccurs="1" type="entityfield" />
       
  1100             <xs:element name="country" minOccurs="0" maxOccurs="1" type="entityfield" />
       
  1101             <xs:element name="phonenbr" minOccurs="0" maxOccurs="1" type="entityfield" />
       
  1102             <xs:element name="url" minOccurs="0" maxOccurs="1" type="entityfield" />
       
  1103             <xs:element name="latitude" minOccurs="0" maxOccurs="1" type="entityfield">
       
  1104               <xs:annotation>
       
  1105                 <xs:documentation>
       
  1106                   Data can have following format: -nn.nnnn - nn.nnnn, where positive latitude means north and negative south, zero
       
  1107                   point is Equator.
       
  1108                 </xs:documentation>
       
  1109               </xs:annotation>
       
  1110             </xs:element>
       
  1111             <xs:element name="longitude" minOccurs="0" maxOccurs="1" type="entityfield">
       
  1112               <xs:annotation>
       
  1113                 <xs:documentation>
       
  1114                   Data can have following format: -nn.nnnn - nn.nnnn, where positive longitude means east and negative west, zero
       
  1115                   point is Prime Meridian.
       
  1116                 </xs:documentation>
       
  1117               </xs:annotation>
       
  1118             </xs:element>
       
  1119             <xs:element name="positionaccuracy" minOccurs="0" maxOccurs="1" type="entityfield" />
       
  1120             <xs:element name="altitude" minOccurs="0" maxOccurs="1" type="entityfield">
       
  1121               <xs:annotation>
       
  1122                 <xs:documentation>
       
  1123                   Data can have following format: -nn.nnnn - nn.nnnn, where zero point is sea level.
       
  1124                 </xs:documentation>
       
  1125               </xs:annotation>
       
  1126             </xs:element>
       
  1127             <xs:element name="altitudeaccuracy" minOccurs="0" maxOccurs="1" type="entityfield" />
       
  1128           </xs:sequence>
       
  1129         </xs:complexType>
       
  1130       </xs:element>
       
  1131     </xs:sequence>
       
  1132     <!-- If not given, amount="1" is assumed -->
       
  1133     <xs:attribute name="amount" use="optional" type="xs:positiveInteger" />
       
  1134   </xs:complexType>
       
  1135 </xs:element>
       
  1136 
       
  1137 <xs:group name="creatorscriptElements">
       
  1138   <xs:sequence>
       
  1139     <xs:element ref="contact" minOccurs="0" maxOccurs="unbounded" />
       
  1140     <xs:element ref="contact-set" minOccurs="0" maxOccurs="unbounded" />
       
  1141     <xs:element ref="contactgroup" minOccurs="0" maxOccurs="unbounded" />
       
  1142     <xs:element ref="calendar" minOccurs="0" maxOccurs="unbounded" />
       
  1143     <xs:element ref="bookmark" minOccurs="0" maxOccurs="unbounded" />
       
  1144     <xs:element ref="bookmarkfolder" minOccurs="0" maxOccurs="unbounded" />
       
  1145     <xs:element ref="savedpage" minOccurs="0" maxOccurs="unbounded" />
       
  1146     <xs:element ref="savedpagefolder" minOccurs="0" maxOccurs="unbounded" />
       
  1147     <xs:element ref="note" minOccurs="0" maxOccurs="unbounded" />
       
  1148     <xs:element ref="log" minOccurs="0" maxOccurs="unbounded" />
       
  1149     <xs:element ref="connectionmethod" minOccurs="0" maxOccurs="unbounded" />
       
  1150     <xs:element ref="mailbox" minOccurs="0" maxOccurs="unbounded" />
       
  1151     <xs:element ref="message" minOccurs="0" maxOccurs="unbounded" />
       
  1152     <xs:element ref="impsserver" minOccurs="0" maxOccurs="unbounded" />
       
  1153     <xs:element ref="file" minOccurs="0" maxOccurs="unbounded" />
       
  1154     <xs:element ref="landmark" minOccurs="0" maxOccurs="unbounded" />
       
  1155   </xs:sequence>
       
  1156 </xs:group>
       
  1157 
       
  1158 <xs:element name="creatorscript">
       
  1159   <xs:annotation>
       
  1160     <xs:documentation>
       
  1161       Root element of a Creator script. The sub-elements can be thought as 'commands', e.g. one contact element with explicitly
       
  1162       defined fields create one contact to the database of the device. 
       
  1163     </xs:documentation>
       
  1164   </xs:annotation>
       
  1165   <xs:complexType>
       
  1166     <xs:choice minOccurs="0" maxOccurs="unbounded">
       
  1167       <xs:group ref="creatorscriptElements" minOccurs="0" maxOccurs="unbounded" />
       
  1168     </xs:choice>
       
  1169     <xs:attribute name="scriptVersion" use="optional" type="xs:string">
       
  1170       <xs:annotation>
       
  1171         <xs:documentation>
       
  1172           Declares the script version. Can be used to indicate the evolution of each script. 
       
  1173     </xs:documentation>
       
  1174       </xs:annotation>
       
  1175     </xs:attribute>
       
  1176     <xs:attribute name="schemaVersion" use="required" type="xs:string">
       
  1177       <xs:annotation>
       
  1178         <xs:documentation>
       
  1179           Declares the schema version used when designing a script file. This version information must be in sync with the schema used. Schema version is defined
       
  1180           at the beginning of the creator.xsd file in comment block.
       
  1181     </xs:documentation>
       
  1182       </xs:annotation>
       
  1183     </xs:attribute>
       
  1184   </xs:complexType>
       
  1185 </xs:element>
       
  1186 
       
  1187 </xs:schema>