Warning, /office/calligraplan/schema/plan-0.7.0.xsd is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!--
0003   This is the Document Type Definition for the Calligra Plan Project Planning and Management Tool.
0004   Version 0.7.0
0005   Dag Andersen <danders@get2net.dk>
0006   
0007   Note: This document is designed to make it possible to generate
0008         usable java classes for import/export.
0009 -->
0010 <!-- plan is the top level element (holding a project) -->
0011 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
0012   <xs:element name="plan">
0013     <xs:complexType>
0014       <xs:sequence>
0015         <xs:element minOccurs="0" ref="project"/>
0016       </xs:sequence>
0017       <xs:attribute name="author"/>
0018       <xs:attribute name="email"/>
0019       <xs:attribute name="editor"/>
0020       <xs:attribute name="mime" default="application/x-vnd.kde.plan"/>
0021       <xs:attribute name="version"/>
0022     </xs:complexType>
0023   </xs:element>
0024   <!-- One project node -->
0025   <xs:element name="project">
0026     <xs:complexType>
0027       <xs:choice>
0028         <xs:element minOccurs="0" ref="project-settings"/>
0029         <xs:element minOccurs="0" ref="accounts"/>
0030         <xs:element minOccurs="0" ref="calendars"/>
0031         <xs:element minOccurs="0" ref="resource-groups"/>
0032         <xs:element minOccurs="0" ref="resources"/>
0033         <xs:element minOccurs="0" ref="resource-group-relations"/>
0034         <xs:element minOccurs="0" ref="tasks"/>
0035         <xs:element minOccurs="0" ref="relations"/>
0036         <xs:element minOccurs="0" ref="project-schedules"/>
0037         <xs:element minOccurs="0" ref="resource-teams"/>
0038         <xs:element minOccurs="0" ref="external-appointments"/>
0039         <xs:element minOccurs="0" ref="resource-requests"/>
0040         <xs:element minOccurs="0" ref="required-resource-requests"/>
0041         <xs:element minOccurs="0" ref="alternative-requests"/>
0042       </xs:choice>
0043       <xs:attribute name="id" use="required"/>
0044       <xs:attribute name="name"/>
0045       <xs:attribute name="leader"/>
0046       <xs:attribute name="description"/>
0047       <xs:attribute name="scheduling" default="MustStartOn">
0048         <xs:simpleType>
0049           <xs:restriction base="xs:token">
0050             <xs:enumeration value="MustStartOn"/>
0051             <xs:enumeration value="MustFinishOn"/>
0052           </xs:restriction>
0053         </xs:simpleType>
0054       </xs:attribute>
0055       <xs:attribute name="start-time"/>
0056       <xs:attribute name="end-time"/>
0057       <xs:attribute name="timezone"/>
0058     </xs:complexType>
0059   </xs:element>
0060   <!-- project-settings -->
0061   <xs:element name="project-settings">
0062     <xs:complexType>
0063       <xs:choice>
0064         <xs:element minOccurs="0" ref="task-modules"/>
0065         <xs:element minOccurs="0" ref="shared-resources"/>
0066         <xs:element minOccurs="0" ref="wbs-definition"/>
0067         <xs:element minOccurs="0" ref="locale"/>
0068         <xs:element minOccurs="0" ref="workpackageinfo"/>
0069         <xs:element minOccurs="0" ref="standard-worktime"/>
0070       </xs:choice>
0071     </xs:complexType>
0072   </xs:element>
0073   <xs:element name="task-modules">
0074     <xs:complexType>
0075       <xs:attribute name="use-local-task-modules"/>
0076     </xs:complexType>
0077   </xs:element>
0078   <!-- WBS code generation format -->
0079   <xs:element name="wbs-definition">
0080     <xs:complexType>
0081       <xs:choice>
0082         <xs:element ref="default"/>
0083         <xs:element minOccurs="0" ref="levels"/>
0084       </xs:choice>
0085       <xs:attribute name="levels-enabled"/>
0086       <xs:attribute name="project-code"/>
0087       <xs:attribute name="project-separator"/>
0088     </xs:complexType>
0089   </xs:element>
0090   <!-- WBS code generation default format -->
0091   <xs:element name="default">
0092     <xs:complexType>
0093       <xs:attribute name="separator" default="."/>
0094       <xs:attribute name="code" default="Number"/>
0095     </xs:complexType>
0096   </xs:element>
0097   <xs:element name="levels">
0098     <xs:complexType>
0099       <xs:sequence>
0100         <xs:element minOccurs="0" maxOccurs="unbounded" ref="level"/>
0101       </xs:sequence>
0102     </xs:complexType>
0103   </xs:element>
0104   <xs:element name="level">
0105     <xs:complexType>
0106       <xs:attribute name="level" use="required"/>
0107       <xs:attribute name="separator" default="."/>
0108       <xs:attribute name="code" default="Number"/>
0109     </xs:complexType>
0110   </xs:element>
0111   <!-- The locale used in this project -->
0112   <xs:element name="locale">
0113     <xs:complexType>
0114       <xs:attribute name="currency-symbol"/>
0115       <xs:attribute name="currency-digits"/>
0116       <xs:attribute name="language"/>
0117       <xs:attribute name="country"/>
0118     </xs:complexType>
0119   </xs:element>
0120   <!-- The shared resources/projects settings used in this project -->
0121   <xs:element name="shared-resources">
0122     <xs:complexType>
0123       <xs:attribute name="use"/>
0124       <xs:attribute name="file"/>
0125     </xs:complexType>
0126   </xs:element>
0127   <!-- The workpackageinfo settings used in this project -->
0128   <xs:element name="workpackageinfo">
0129     <xs:complexType>
0130       <xs:attribute name="check-for-workpackages"/>
0131       <xs:attribute name="retrieve-url"/>
0132       <xs:attribute name="delete-after-retrieval"/>
0133       <xs:attribute name="archive-after-retrieval"/>
0134       <xs:attribute name="archive-url"/>
0135       <xs:attribute name="publish-url"/>
0136     </xs:complexType>
0137   </xs:element>
0138   <!-- Standard worktime defines the numbers of hours resources are expected to work -->
0139   <xs:element name="standard-worktime">
0140     <xs:complexType>
0141       <xs:attribute name="day" default="8h0m"/>
0142       <xs:attribute name="week" default="40h0m"/>
0143       <xs:attribute name="month" default="176h0m"/>
0144       <xs:attribute name="year" default="1760h0m"/>
0145     </xs:complexType>
0146   </xs:element>
0147   <!-- Cost accounts -->
0148   <xs:element name="accounts">
0149     <xs:complexType>
0150       <xs:sequence>
0151         <xs:element minOccurs="0" maxOccurs="unbounded" ref="account"/>
0152       </xs:sequence>
0153     </xs:complexType>
0154   </xs:element>
0155   <!-- A cost account may have child accounts and costplaces -->
0156   <xs:element name="account">
0157     <xs:complexType>
0158       <xs:choice>
0159         <xs:element minOccurs="0" maxOccurs="unbounded" ref="account"/>
0160         <xs:element minOccurs="0" maxOccurs="unbounded" ref="costplace"/>
0161       </xs:choice>
0162       <xs:attribute name="name" use="required"/>
0163       <xs:attribute name="description"/>
0164     </xs:complexType>
0165   </xs:element>
0166   <!-- A cost place is info on where the cost is generated (object-id refers to a task or a resource) -->
0167   <xs:element name="costplace">
0168     <xs:complexType>
0169       <xs:attribute name="object-id" use="required"/>
0170       <xs:attribute name="startup-cost" default="0"/>
0171       <xs:attribute name="shutdown-cost" default="0"/>
0172       <xs:attribute name="running-cost" default="0"/>
0173     </xs:complexType>
0174   </xs:element>
0175   <!-- A calendar defines working hours for resource(s) or modifies duration for task(s) -->
0176   <xs:element name="calendars">
0177     <xs:complexType>
0178       <xs:sequence>
0179         <xs:element minOccurs="0" maxOccurs="unbounded" ref="calendar"/>
0180       </xs:sequence>
0181     </xs:complexType>
0182   </xs:element>
0183   <xs:element name="calendar">
0184     <xs:complexType>
0185       <xs:choice>
0186         <xs:element minOccurs="0" maxOccurs="unbounded" ref="calendar"/>
0187         <xs:element minOccurs="0" maxOccurs="unbounded" ref="weekday"/>
0188         <xs:element minOccurs="0" maxOccurs="unbounded" ref="day"/>
0189       </xs:choice>
0190       <xs:attribute name="id" use="required"/>
0191       <xs:attribute name="parent"/>
0192       <xs:attribute name="name"/>
0193       <xs:attribute name="default" default="0"/>
0194       <xs:attribute name="timezone"/>
0195       <xs:attribute name="origin" default="local">
0196         <xs:simpleType>
0197           <xs:restriction base="xs:token">
0198             <xs:enumeration value="local"/>
0199             <xs:enumeration value="shared"/>
0200           </xs:restriction>
0201         </xs:simpleType>
0202       </xs:attribute>
0203     </xs:complexType>
0204   </xs:element>
0205   <!-- 7 weekdays (0=monday - 6=sunday) -->
0206   <xs:element name="weekday">
0207     <xs:complexType>
0208       <xs:sequence>
0209         <xs:element minOccurs="0" maxOccurs="unbounded" ref="time-interval"/>
0210       </xs:sequence>
0211       <xs:attribute name="day-number" default="0">
0212         <xs:simpleType>
0213           <xs:restriction base="xs:token">
0214             <xs:enumeration value="0"/>
0215             <xs:enumeration value="1"/>
0216             <xs:enumeration value="2"/>
0217             <xs:enumeration value="3"/>
0218             <xs:enumeration value="4"/>
0219             <xs:enumeration value="5"/>
0220             <xs:enumeration value="6"/>
0221           </xs:restriction>
0222         </xs:simpleType>
0223       </xs:attribute>
0224       <xs:attribute name="state" default="0">
0225         <xs:simpleType>
0226           <xs:restriction base="xs:token">
0227             <xs:enumeration value="0"/>
0228             <xs:enumeration value="1"/>
0229             <xs:enumeration value="2"/>
0230           </xs:restriction>
0231         </xs:simpleType>
0232       </xs:attribute>
0233     </xs:complexType>
0234   </xs:element>
0235   <!--
0236     interval as used by calendar:
0237         interval has a start time and a length (in ms)
0238         start+length must not exceed midnight
0239   -->
0240   <xs:element name="time-interval">
0241     <xs:complexType>
0242       <xs:attribute name="start"/>
0243       <xs:attribute name="length"/>
0244     </xs:complexType>
0245   </xs:element>
0246   <!--
0247     A day has a date and state: 0=Undefined, 1=NonWorking, 2=Working.
0248     If state=Working, there will (should) be one or more interval
0249   -->
0250   <xs:element name="day">
0251     <xs:complexType>
0252       <xs:sequence>
0253         <xs:element minOccurs="0" maxOccurs="unbounded" ref="time-interval"/>
0254       </xs:sequence>
0255       <xs:attribute name="date"/>
0256       <xs:attribute name="state" default="0">
0257         <xs:simpleType>
0258           <xs:restriction base="xs:token">
0259             <xs:enumeration value="0"/>
0260             <xs:enumeration value="1"/>
0261             <xs:enumeration value="2"/>
0262           </xs:restriction>
0263         </xs:simpleType>
0264       </xs:attribute>
0265     </xs:complexType>
0266   </xs:element>
0267   <!-- Resource groups -->
0268   <xs:element name="resource-groups">
0269     <xs:complexType>
0270       <xs:sequence>
0271         <xs:element minOccurs="0" maxOccurs="unbounded" ref="resource-group"/>
0272       </xs:sequence>
0273     </xs:complexType>
0274   </xs:element>
0275   <xs:element name="resource-group">
0276     <xs:complexType>
0277       <xs:sequence>
0278         <xs:element minOccurs="0" maxOccurs="unbounded" ref="resource-group"/>
0279       </xs:sequence>
0280       <xs:attribute name="id" use="required"/>
0281       <xs:attribute name="name"/>
0282       <xs:attribute name="type"/>
0283       <xs:attribute name="coordinator"/>
0284       <xs:attribute name="origin" default="local">
0285         <xs:simpleType>
0286           <xs:restriction base="xs:token">
0287             <xs:enumeration value="local"/>
0288             <xs:enumeration value="shared"/>
0289           </xs:restriction>
0290         </xs:simpleType>
0291       </xs:attribute>
0292     </xs:complexType>
0293   </xs:element>
0294   <!-- Resource, used by both resources and used effort -->
0295   <xs:element name="resources">
0296     <xs:complexType>
0297       <xs:sequence>
0298         <xs:element minOccurs="0" maxOccurs="unbounded" ref="resource"/>
0299       </xs:sequence>
0300     </xs:complexType>
0301   </xs:element>
0302   <xs:element name="resource">
0303     <xs:complexType>
0304       <xs:sequence>
0305         <xs:element minOccurs="0" maxOccurs="unbounded" ref="actual-effort"/>
0306       </xs:sequence>
0307       <xs:attribute name="id" use="required"/>
0308       <xs:attribute name="type" default="Work">
0309         <xs:simpleType>
0310           <xs:restriction base="xs:token">
0311             <xs:enumeration value="Work"/>
0312             <xs:enumeration value="Material"/>
0313             <xs:enumeration value="Team"/>
0314           </xs:restriction>
0315         </xs:simpleType>
0316       </xs:attribute>
0317       <xs:attribute name="name"/>
0318       <xs:attribute name="email"/>
0319       <xs:attribute name="initials"/>
0320       <xs:attribute name="normal-rate"/>
0321       <xs:attribute name="overtime-rate"/>
0322       <xs:attribute name="units" default="100"/>
0323       <xs:attribute name="calendar-id"/>
0324       <xs:attribute name="account"/>
0325       <xs:attribute name="origin" default="local">
0326         <xs:simpleType>
0327           <xs:restriction base="xs:token">
0328             <xs:enumeration value="local"/>
0329             <xs:enumeration value="shared"/>
0330           </xs:restriction>
0331         </xs:simpleType>
0332       </xs:attribute>
0333     </xs:complexType>
0334   </xs:element>
0335   <!-- Used both by resource -->
0336   <xs:element name="required-resources">
0337     <xs:complexType>
0338       <xs:sequence>
0339         <xs:element minOccurs="0" maxOccurs="unbounded" ref="required-resource"/>
0340       </xs:sequence>
0341     </xs:complexType>
0342   </xs:element>
0343   <xs:element name="required-resource">
0344     <xs:complexType>
0345       <xs:attribute name="resource-id" use="required"/>
0346       <xs:attribute name="required-id" use="required"/>
0347     </xs:complexType>
0348   </xs:element>
0349   <!-- Resource-group-relations -->
0350   <xs:element name="resource-group-relations">
0351     <xs:complexType>
0352       <xs:sequence>
0353         <xs:element minOccurs="0" maxOccurs="unbounded" ref="resource-group-relation"/>
0354       </xs:sequence>
0355     </xs:complexType>
0356   </xs:element>
0357   <xs:element name="resource-group-relation">
0358     <xs:complexType>
0359       <xs:attribute name="group-id" use="required"/>
0360       <xs:attribute name="resource-id" use="required"/>
0361     </xs:complexType>
0362   </xs:element>
0363   <xs:element name="tasks">
0364     <xs:complexType>
0365       <xs:sequence>
0366         <xs:element minOccurs="0" maxOccurs="unbounded" ref="task"/>
0367       </xs:sequence>
0368     </xs:complexType>
0369   </xs:element>
0370   <!-- Task can be tasks, milestones (zero estimate) or summary tasks (have children) -->
0371   <xs:element name="task">
0372     <xs:complexType>
0373       <xs:choice>
0374         <xs:element minOccurs="0" maxOccurs="unbounded" ref="task"/>
0375         <xs:element ref="estimate"/>
0376         <xs:element minOccurs="0" ref="documents"/>
0377         <xs:element minOccurs="0" ref="task-schedules"/>
0378         <xs:element minOccurs="0" ref="progress"/>
0379       </xs:choice>
0380       <xs:attribute name="id" use="required"/>
0381       <xs:attribute name="name"/>
0382       <xs:attribute name="leader"/>
0383       <xs:attribute name="description"/>
0384       <xs:attribute name="wbs"/>
0385       <xs:attribute name="priority"/>
0386       <xs:attribute name="scheduling" default="ASAP">
0387         <xs:simpleType>
0388           <xs:restriction base="xs:token">
0389             <xs:enumeration value="ASAP"/>
0390             <xs:enumeration value="ALAP"/>
0391             <xs:enumeration value="MustStartOn"/>
0392             <xs:enumeration value="MustFinishOn"/>
0393             <xs:enumeration value="StratNotEarlier"/>
0394             <xs:enumeration value="FinishNotLater"/>
0395           </xs:restriction>
0396         </xs:simpleType>
0397       </xs:attribute>
0398       <xs:attribute name="constraint-starttime"/>
0399       <xs:attribute name="constraint-endtime"/>
0400       <xs:attribute name="startup-cost"/>
0401       <xs:attribute name="shutdown-cost"/>
0402     </xs:complexType>
0403   </xs:element>
0404   <xs:element name="estimate">
0405     <xs:complexType>
0406       <xs:attribute name="type" default="Effort">
0407         <xs:simpleType>
0408           <xs:restriction base="xs:token">
0409             <xs:enumeration value="Effort"/>
0410             <xs:enumeration value="Duration"/>
0411           </xs:restriction>
0412         </xs:simpleType>
0413       </xs:attribute>
0414       <xs:attribute name="risk" default="None">
0415         <xs:simpleType>
0416           <xs:restriction base="xs:token">
0417             <xs:enumeration value="None"/>
0418             <xs:enumeration value="Low"/>
0419             <xs:enumeration value="High"/>
0420           </xs:restriction>
0421         </xs:simpleType>
0422       </xs:attribute>
0423       <xs:attribute name="expected" default="0"/>
0424       <xs:attribute name="optimistic" default="0"/>
0425       <xs:attribute name="pessimistic" default="0"/>
0426       <xs:attribute name="unit" default="h"/>
0427       <xs:attribute name="calendar-id"/>
0428     </xs:complexType>
0429   </xs:element>
0430   <!--
0431     Not used by import/export
0432     <!ELEMENT workpackage EMPTY>
0433     <!ATTLIST workpackage
0434         owner CDATA #IMPLIED
0435         owner-id CDATA #IMPLIED>
0436   -->
0437   <xs:element name="progress">
0438     <xs:complexType>
0439       <xs:choice>
0440         <xs:element minOccurs="0" maxOccurs="unbounded" ref="completion-entry"/>
0441         <xs:element ref="used-effort"/>
0442       </xs:choice>
0443       <xs:attribute name="entrymode" default="EnterCompleted">
0444         <xs:simpleType>
0445           <xs:restriction base="xs:token">
0446             <xs:enumeration value="FollowPlan"/>
0447             <xs:enumeration value="EnterCompleted"/>
0448             <xs:enumeration value="EnterEffortPerTask"/>
0449             <xs:enumeration value="EnterEffortPerResource"/>
0450           </xs:restriction>
0451         </xs:simpleType>
0452       </xs:attribute>
0453       <xs:attribute name="startTime"/>
0454       <xs:attribute name="finishTime"/>
0455       <xs:attribute name="started" default="0"/>
0456       <xs:attribute name="finished" default="0"/>
0457     </xs:complexType>
0458   </xs:element>
0459   <xs:element name="completion-entry">
0460     <xs:complexType>
0461       <xs:attribute name="date" use="required"/>
0462       <xs:attribute name="performed-effort"/>
0463       <xs:attribute name="percent-finished" default="0"/>
0464       <xs:attribute name="remaining-effort"/>
0465       <xs:attribute name="note"/>
0466     </xs:complexType>
0467   </xs:element>
0468   <xs:element name="used-effort">
0469     <xs:complexType>
0470       <xs:sequence>
0471         <xs:element minOccurs="0" maxOccurs="unbounded" ref="resource"/>
0472       </xs:sequence>
0473     </xs:complexType>
0474   </xs:element>
0475   <!-- Resource defined above -->
0476   <!--
0477     <!ELEMENT ue-resource (actual-effort*)>
0478     <!ATTLIST ue-resource
0479         id CDATA #REQUIRED>
0480   -->
0481   <xs:element name="actual-effort">
0482     <xs:complexType>
0483       <xs:attribute name="date" use="required"/>
0484       <xs:attribute name="normal-effort"/>
0485       <xs:attribute name="overtime-effort"/>
0486     </xs:complexType>
0487   </xs:element>
0488   <!-- schedules used by project -->
0489   <xs:element name="project-schedules">
0490     <xs:complexType>
0491       <xs:sequence>
0492         <xs:element minOccurs="0" maxOccurs="unbounded" ref="schedule-management"/>
0493       </xs:sequence>
0494     </xs:complexType>
0495   </xs:element>
0496   <!-- schedule-management holds common scheduling parameters for a schedule -->
0497   <xs:element name="schedule-management">
0498     <xs:complexType>
0499       <xs:choice>
0500         <xs:element minOccurs="0" maxOccurs="unbounded" ref="schedule-management"/>
0501         <xs:element minOccurs="0" maxOccurs="unbounded" ref="project-schedule"/>
0502       </xs:choice>
0503       <xs:attribute name="id"/>
0504       <xs:attribute name="name"/>
0505       <xs:attribute name="scheduling-direction" default="0"/>
0506       <xs:attribute name="recalculate-from"/>
0507       <xs:attribute name="check-external-appointments" default="1"/>
0508       <xs:attribute name="distribution" default="0"/>
0509       <xs:attribute name="baselined" default="0"/>
0510       <xs:attribute name="recalculate" default="0"/>
0511       <xs:attribute name="overbooking" default="0"/>
0512       <xs:attribute name="scheduler-plugin-id"/>
0513     </xs:complexType>
0514   </xs:element>
0515   <xs:element name="project-schedule">
0516     <xs:complexType>
0517       <xs:choice>
0518         <xs:element minOccurs="0" ref="criticalpath-list"/>
0519         <xs:element minOccurs="0" maxOccurs="unbounded" ref="appointment"/>
0520       </xs:choice>
0521       <xs:attribute name="id" use="required"/>
0522       <xs:attribute name="name"/>
0523       <xs:attribute name="type" default="Expected"/>
0524       <xs:attribute name="start"/>
0525       <xs:attribute name="end"/>
0526       <xs:attribute name="duration"/>
0527       <xs:attribute name="not-scheduled" default="0"/>
0528       <xs:attribute name="scheduling-conflict" default="0"/>
0529       <xs:attribute name="scheduling-error" default="0"/>
0530     </xs:complexType>
0531   </xs:element>
0532   <!-- A list of critical paths used by project -->
0533   <xs:element name="criticalpath-list">
0534     <xs:complexType>
0535       <xs:sequence>
0536         <xs:element minOccurs="0" maxOccurs="unbounded" ref="criticalpath"/>
0537       </xs:sequence>
0538     </xs:complexType>
0539   </xs:element>
0540   <xs:element name="criticalpath">
0541     <xs:complexType>
0542       <xs:sequence>
0543         <xs:element minOccurs="0" maxOccurs="unbounded" ref="node"/>
0544       </xs:sequence>
0545     </xs:complexType>
0546   </xs:element>
0547   <xs:element name="node">
0548     <xs:complexType>
0549       <xs:attribute name="id" use="required"/>
0550     </xs:complexType>
0551   </xs:element>
0552   <!-- Appointments between resources and tasks used by project -->
0553   <xs:element name="appointment">
0554     <xs:complexType>
0555       <xs:sequence>
0556         <xs:element minOccurs="0" maxOccurs="unbounded" ref="appointment-interval"/>
0557       </xs:sequence>
0558       <xs:attribute name="resource-id" use="required"/>
0559       <xs:attribute name="task-id" use="required"/>
0560     </xs:complexType>
0561   </xs:element>
0562   <!--
0563     appointment-interval as used by appointment and external-appointment:
0564         has a start datetime, end datetime and a load
0565   -->
0566   <xs:element name="appointment-interval">
0567     <xs:complexType>
0568       <xs:attribute name="start"/>
0569       <xs:attribute name="end"/>
0570       <xs:attribute name="load" default="0"/>
0571     </xs:complexType>
0572   </xs:element>
0573   <!-- schedules used by task -->
0574   <xs:element name="task-schedules">
0575     <xs:complexType>
0576       <xs:sequence>
0577         <xs:element minOccurs="0" maxOccurs="unbounded" ref="task-schedule"/>
0578       </xs:sequence>
0579     </xs:complexType>
0580   </xs:element>
0581   <xs:element name="task-schedule">
0582     <xs:complexType>
0583       <xs:attribute name="id" use="required"/>
0584       <xs:attribute name="name"/>
0585       <xs:attribute name="type" default="Expected"/>
0586       <xs:attribute name="start"/>
0587       <xs:attribute name="end"/>
0588       <xs:attribute name="start-work"/>
0589       <xs:attribute name="end-work"/>
0590       <xs:attribute name="duration"/>
0591       <xs:attribute name="earlystart"/>
0592       <xs:attribute name="earlyfinish"/>
0593       <xs:attribute name="latestart"/>
0594       <xs:attribute name="latefinish"/>
0595       <xs:attribute name="positive-float"/>
0596       <xs:attribute name="free-float"/>
0597       <xs:attribute name="negative-float"/>
0598       <xs:attribute name="in-critical-path" default="0"/>
0599       <xs:attribute name="not-scheduled" default="0"/>
0600       <xs:attribute name="scheduling-conflict" default="0"/>
0601       <xs:attribute name="scheduling-error" default="0"/>
0602       <xs:attribute name="resource-error" default="0"/>
0603       <xs:attribute name="resource-overbooked" default="0"/>
0604       <xs:attribute name="resource-not-available" default="0"/>
0605     </xs:complexType>
0606   </xs:element>
0607   <!-- documents used by task -->
0608   <xs:element name="documents">
0609     <xs:complexType>
0610       <xs:sequence>
0611         <xs:element minOccurs="0" maxOccurs="unbounded" ref="document"/>
0612       </xs:sequence>
0613     </xs:complexType>
0614   </xs:element>
0615   <xs:element name="document">
0616     <xs:complexType>
0617       <xs:attribute name="name"/>
0618       <xs:attribute name="url"/>
0619       <xs:attribute name="type" default="0"/>
0620       <xs:attribute name="sendas" default="0"/>
0621       <xs:attribute name="status"/>
0622     </xs:complexType>
0623   </xs:element>
0624   <!--
0625     FIXME non-essential, move to separate file?
0626     <!ELEMENT workpackage-log (wplog-entry*)>
0627     
0628     <!ELEMENT wplog-entry (progress)>
0629     <!ATTLIST wplog-entry
0630         owner-id CDATA #IMPLIED
0631         owner CDATA #IMPLIED
0632         status (Send|Receive) "Send"
0633         time CDATA #IMPLIED>
0634   -->
0635   <xs:element name="resource-requests">
0636     <xs:complexType>
0637       <xs:sequence>
0638         <xs:element minOccurs="0" maxOccurs="unbounded" ref="resource-request"/>
0639       </xs:sequence>
0640     </xs:complexType>
0641   </xs:element>
0642   <xs:element name="resource-request">
0643     <xs:complexType>
0644       <xs:attribute name="request-id" use="required"/>
0645       <xs:attribute name="task-id" use="required"/>
0646       <xs:attribute name="group-id"/>
0647       <xs:attribute name="resource-id" use="required"/>
0648       <xs:attribute name="units" default="100"/>
0649     </xs:complexType>
0650   </xs:element>
0651   <!-- Used both by resource-request and by resource -->
0652   <xs:element name="required-resource-requests">
0653     <xs:complexType>
0654       <xs:sequence>
0655         <xs:element minOccurs="0" maxOccurs="unbounded" ref="required-resource-request"/>
0656       </xs:sequence>
0657     </xs:complexType>
0658   </xs:element>
0659   <xs:element name="required-resource-request">
0660     <xs:complexType>
0661       <xs:attribute name="task-id" use="required"/>
0662       <xs:attribute name="request-id" use="required"/>
0663       <xs:attribute name="required-id" use="required"/>
0664     </xs:complexType>
0665   </xs:element>
0666   <xs:element name="alternative-requests">
0667     <xs:complexType>
0668       <xs:sequence>
0669         <xs:element minOccurs="0" maxOccurs="unbounded" ref="alternative-request"/>
0670       </xs:sequence>
0671     </xs:complexType>
0672   </xs:element>
0673   <xs:element name="alternative-request">
0674     <xs:complexType>
0675       <xs:attribute name="task-id" use="required"/>
0676       <xs:attribute name="request-id" use="required"/>
0677       <xs:attribute name="resource-id" use="required"/>
0678       <xs:attribute name="units" default="100"/>
0679     </xs:complexType>
0680   </xs:element>
0681   <!--
0682     Task relations are described by the two IDs, the type of constraint and lag
0683     The ids are references to tasks, so all tasks must have been loaded
0684   -->
0685   <xs:element name="relations">
0686     <xs:complexType>
0687       <xs:sequence>
0688         <xs:element minOccurs="0" maxOccurs="unbounded" ref="relation"/>
0689       </xs:sequence>
0690     </xs:complexType>
0691   </xs:element>
0692   <xs:element name="relation">
0693     <xs:complexType>
0694       <xs:attribute name="parent-id" use="required"/>
0695       <xs:attribute name="child-id" use="required"/>
0696       <xs:attribute name="type" default="Finish-Start">
0697         <xs:simpleType>
0698           <xs:restriction base="xs:token">
0699             <xs:enumeration value="Finish-Start"/>
0700             <xs:enumeration value="Finish-Finish"/>
0701             <xs:enumeration value="Start-Start"/>
0702           </xs:restriction>
0703         </xs:simpleType>
0704       </xs:attribute>
0705       <xs:attribute name="lag"/>
0706     </xs:complexType>
0707   </xs:element>
0708   <!-- resource teams (if any) -->
0709   <xs:element name="resource-teams">
0710     <xs:complexType>
0711       <xs:sequence>
0712         <xs:element minOccurs="0" maxOccurs="unbounded" ref="team"/>
0713       </xs:sequence>
0714     </xs:complexType>
0715   </xs:element>
0716   <xs:element name="team">
0717     <xs:complexType>
0718       <xs:attribute name="team-id" use="required"/>
0719       <xs:attribute name="member-id" use="required"/>
0720     </xs:complexType>
0721   </xs:element>
0722   <!-- external appointments -->
0723   <xs:element name="external-appointments">
0724     <xs:complexType>
0725       <xs:sequence>
0726         <xs:element minOccurs="0" maxOccurs="unbounded" ref="external-appointment"/>
0727       </xs:sequence>
0728     </xs:complexType>
0729   </xs:element>
0730   <xs:element name="external-appointment">
0731     <xs:complexType>
0732       <xs:sequence>
0733         <xs:element minOccurs="0" maxOccurs="unbounded" ref="appointment-interval"/>
0734       </xs:sequence>
0735       <xs:attribute name="resource-id" use="required"/>
0736       <xs:attribute name="project-id" use="required"/>
0737       <xs:attribute name="project-name" use="required"/>
0738     </xs:complexType>
0739   </xs:element>
0740 </xs:schema>