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

0001 <?xml version='1.0' encoding='UTF-8'?>
0002 
0003 <!--
0004     This is the Document Type Definition for the Calligra Plan Project Planning and Management Tool.
0005     Version 0.6.5
0006     Dag Andersen <danders@get2net.dk>
0007 
0008     Note: This document is designed to make it possible to generate
0009           usable java classes for import/export.
0010 -->
0011 
0012 <!--
0013     plan is used both as the top level element (holding a project)
0014     and for other things below (holding shedule data etc)
0015 -->
0016 <!ELEMENT plan (project?|plan*|schedule*)>
0017 <!ATTLIST plan
0018     author CDATA #IMPLIED
0019     email  CDATA #IMPLIED
0020     editor CDATA #IMPLIED
0021     mime   CDATA "application/x-vnd.kde.plan"
0022     version CDATA #IMPLIED
0023 
0024     id CDATA #IMPLIED
0025     name CDATA #IMPLIED
0026     scheduling-direction CDATA "0"
0027     recalculate-from CDATA #IMPLIED
0028     check-external-appointments CDATA "1"
0029     distribution CDATA "0"
0030     baselined CDATA "0"
0031     recalculate CDATA "0"
0032     overbooking CDATA "0"
0033     scheduler-plugin-id CDATA #IMPLIED>
0034 
0035 <!-- One project node -->
0036 <!ELEMENT project (wbs-definition|locale|accounts?|calendar*|standard-worktime|resource-group*|task*|relation*|schedules?|resource-teams?)>
0037 <!ATTLIST project       id CDATA #REQUIRED
0038     name CDATA #IMPLIED
0039     leader CDATA #IMPLIED
0040     description CDATA #IMPLIED
0041     scheduling (MustStartOn|MustFinishOn) "MustStartOn"
0042     start-time CDATA #IMPLIED
0043     end-time CDATA #IMPLIED
0044     timezone CDATA #IMPLIED>
0045 
0046 <!-- WBS code generation format -->
0047 <!ELEMENT wbs-definition (default|levels)>
0048 <!ATTLIST wbs-definition
0049     levels-enabled CDATA #IMPLIED
0050     project-code  CDATA #IMPLIED
0051     project-separator  CDATA #IMPLIED>
0052 
0053 <!-- WBS code generation deafault format -->
0054 <!ELEMENT default EMPTY>
0055 <!ATTLIST default
0056     separator CDATA "."
0057     code CDATA "Number">
0058 
0059 <!ELEMENT levels (level*)>
0060 <!ELEMENT level EMPTY>
0061 <!ATTLIST level
0062     level CDATA #REQUIRED
0063     separator CDATA "."
0064     code CDATA "Number">
0065 
0066 <!-- The money used in this project -->
0067 <!ELEMENT locale EMPTY>
0068 <!ATTLIST locale
0069     currency-symbol CDATA #IMPLIED
0070     currency-digits  CDATA #IMPLIED
0071     positive-prefix-currency-symbol CDATA #IMPLIED
0072     negative-prefix-currency-symbol CDATA #IMPLIED
0073     positive-monetary-sign-position CDATA #IMPLIED
0074     negative-monetary-sign-position CDATA #IMPLIED>
0075 
0076 <!-- Cost accounts -->
0077 <!ELEMENT accounts (account*)>
0078 
0079 <!-- A cost account may have child accounts and costplaces -->
0080 <!ELEMENT account (account*|costplace*)>
0081 <!ATTLIST account
0082    name CDATA #REQUIRED
0083    description CDATA #IMPLIED>
0084 
0085 <!-- A cost place is info on where the cost is generated (object-id referes to a task or a resource) -->
0086 <!ELEMENT costplace EMPTY>
0087 <!ATTLIST costplace
0088     object-id CDATA #REQUIRED
0089     startup-cost CDATA "0"
0090     shutdown-cost CDATA "0"
0091     running-cost CDATA "0">
0092 
0093 <!-- A calendar defines working hours for resource(s) or modifies duration for task(s) -->
0094 <!ELEMENT calendar (calendar*|weekday*|day*)>
0095 <!ATTLIST calendar
0096     id CDATA #REQUIRED
0097     name CDATA #IMPLIED
0098     default CDATA "0"
0099     timezone  CDATA #IMPLIED>
0100 
0101 <!--
0102     7 weekdays (0=monday - 6=sunday), state: 0=Undefined, 1=NonWorking, 2=Working.
0103     If state=Working, there will (should) be one or more interval
0104 -->
0105 <!ELEMENT weekday (interval*)>
0106 <!ATTLIST weekday
0107     day (0|1|2|3|4|5|6) "0"
0108     state (0|1|2) "0">
0109 
0110 <!--
0111     interval as used by calendar:
0112         interval has a start time and a length (in ms)
0113         start+length must not exceed midnight
0114     interval as used by appointment:
0115         has a start datetime, end datetime and a load
0116 -->
0117 <!ELEMENT interval EMPTY>
0118 <!ATTLIST interval
0119     start CDATA #IMPLIED
0120     length CDATA #IMPLIED
0121 
0122     end CDATA #IMPLIED
0123     load CDATA "0">
0124 
0125 <!--
0126     A day has a date and state: 0=Undefined, 1=NonWorking, 2=Working.
0127     If state=Working, there will (should) be one or more interval
0128  -->
0129 <!ELEMENT day (interval*)>
0130 <!ATTLIST day
0131     date CDATA #REQUIRED
0132     state (0|1|2) "0">
0133 
0134 
0135 <!-- Standard worktime defines the numbers of hours resources are expected to work -->
0136 <!ELEMENT standard-worktime EMPTY>
0137 <!ATTLIST standard-worktime
0138     day CDATA "8h0m"
0139     week CDATA "40h0m"
0140     month CDATA "176h0m"
0141     year CDATA "1760h0m">
0142 
0143 <!-- Resource group -->
0144 <!ELEMENT resource-group (resource*)>
0145 <!ATTLIST resource-group id CDATA #REQUIRED
0146     type (Work|Material) "Work"
0147     name CDATA #IMPLIED>
0148 
0149 <!-- Resource, used by both resource-group and used effort -->
0150 <!ELEMENT resource (actual-effort*)>
0151 <!ATTLIST resource
0152     id CDATA #REQUIRED
0153     type (Work|Material|Team) "Work"
0154     name CDATA #IMPLIED
0155     email CDATA #IMPLIED
0156     initials CDATA #IMPLIED
0157     normal-rate CDATA #IMPLIED
0158     overtime-rate CDATA #IMPLIED
0159     units CDATA "100"
0160     calendar-id CDATA #IMPLIED
0161     account CDATA #IMPLIED>
0162 
0163 <!-- Task can be tasks, milestones (zero estimate) or summary tasks (have children) -->
0164 <!ELEMENT task (task*|estimate|documents?|resourcegroup-request*|schedules?|progress?)>
0165 <!ATTLIST task  id CDATA #REQUIRED
0166     name CDATA #IMPLIED
0167     leader CDATA #IMPLIED
0168     description CDATA #IMPLIED
0169     wbs CDATA #IMPLIED
0170     scheduling (ASAP|ALAP|MustStartOn|MustFinishOn|StratNotEarlier|FinishNotLater) "ASAP"
0171     constraint-starttime  CDATA #IMPLIED
0172     constraint-endtime CDATA #IMPLIED
0173     startup-cost CDATA #IMPLIED
0174     shutdown-cost CDATA #IMPLIED>
0175 
0176 <!ELEMENT estimate EMPTY>
0177 <!ATTLIST estimate
0178     type (Effort|Duration) "Effort"
0179     risk (None|Low|High) "None"
0180     expected CDATA "0"
0181     optimistic CDATA "0"
0182     pessimistic CDATA "0"
0183     unit CDATA "h"
0184     calendar-id CDATA #IMPLIED>
0185 
0186 <!-- Not used by import/export
0187 <!ELEMENT workpackage EMPTY>
0188 <!ATTLIST workpackage
0189     owner CDATA #IMPLIED
0190     owner-id CDATA #IMPLIED>
0191 -->
0192 
0193 <!ELEMENT progress (completion-entry*|used-effort)>
0194 <!ATTLIST progress
0195     entrymode (FollowPlan|EnterCompleted|EnterEffortPerTask|EnterEffortPerResource) "EnterCompleted"
0196     startTime CDATA #IMPLIED
0197     finishTime CDATA #IMPLIED
0198     started CDATA "0"
0199     finished CDATA "0">
0200 
0201 <!ELEMENT completion-entry EMPTY>
0202 <!ATTLIST completion-entry
0203     date CDATA #REQUIRED
0204     performed-effort CDATA #IMPLIED
0205     percent-finished CDATA "0"
0206     remaining-effort CDATA #IMPLIED
0207     note CDATA #IMPLIED>
0208 
0209 <!ELEMENT used-effort (resource*)>
0210 <!-- Resource defined above -->
0211 <!--
0212 <!ELEMENT ue-resource (actual-effort*)>
0213 <!ATTLIST ue-resource
0214     id CDATA #REQUIRED>
0215 -->
0216 
0217 <!ELEMENT actual-effort EMPTY>
0218 <!ATTLIST actual-effort
0219     date CDATA #REQUIRED
0220     normal-effort CDATA #IMPLIED
0221     overtime-effort CDATA #IMPLIED>
0222 
0223 <!-- schedules used by task and project -->
0224 <!ELEMENT schedules (plan*|schedule*)>
0225 
0226 <!-- plan faked above -->
0227 
0228 <!ELEMENT schedule (criticalpath-list?|appointment*)>
0229 <!ATTLIST schedule id CDATA #REQUIRED
0230     name CDATA #IMPLIED
0231     type CDATA "Expected"
0232     start CDATA #IMPLIED
0233     end CDATA #IMPLIED
0234     duration CDATA #IMPLIED
0235     earlystart CDATA #IMPLIED
0236     earlyfinish CDATA #IMPLIED
0237     latestart CDATA #IMPLIED
0238     latefinish CDATA #IMPLIED
0239     positive-float CDATA #IMPLIED
0240     free-float CDATA #IMPLIED
0241     negative-float CDATA #IMPLIED
0242     in-critical-path CDATA "0"
0243     not-scheduled CDATA "0"
0244     scheduling-conflict CDATA "0"
0245     scheduling-error CDATA "0"
0246     resource-error CDATA "0"
0247     resource-overbooked CDATA "0"
0248     resource-not-available CDATA "0">
0249 
0250 <!-- A list of critical paths used by project -->
0251 <!ELEMENT criticalpath-list (criticalpath*)>
0252 <!ELEMENT criticalpath (node*)>
0253 <!ELEMENT node EMPTY>
0254 <!ATTLIST node
0255     id CDATA #REQUIRED>
0256 
0257 <!-- Appointments between resources and tasks used by project -->
0258 <!ELEMENT appointment (interval*)>
0259 <!ATTLIST appointment
0260     resource-id CDATA #REQUIRED
0261     task-id CDATA #REQUIRED>
0262 <!-- Note interval is shared, fake definition above -->
0263 
0264 <!-- documents used by task -->
0265 <!ELEMENT documents (document*)>
0266 <!ELEMENT document EMPTY>
0267 <!ATTLIST document
0268     name CDATA #IMPLIED
0269     url CDATA #IMPLIED
0270     type CDATA "0" 
0271     sendas CDATA "0"
0272     status CDATA #IMPLIED>
0273 
0274 
0275 <!-- FIXME non-essential, move to separate file?
0276 <!ELEMENT workpackage-log (wplog-entry*)>
0277 
0278 <!ELEMENT wplog-entry (progress)>
0279 <!ATTLIST wplog-entry
0280     owner-id CDATA #IMPLIED
0281     owner CDATA #IMPLIED
0282     status (Send|Receive) "Send"
0283     time CDATA #IMPLIED>
0284 -->
0285 
0286 <!--
0287         Resource requests are made by tasks and referes to
0288     the resources needed from a resource group
0289 -->
0290 <!ELEMENT resourcegroup-request (resource-request*)>
0291 <!ATTLIST resourcegroup-request
0292     group-id CDATA #REQUIRED
0293     units CDATA "0">
0294 
0295 <!ELEMENT resource-request EMPTY>
0296 <!ATTLIST resource-request
0297         resource-id CDATA #REQUIRED
0298     units CDATA "100">
0299 
0300 <!--
0301         Relations are described by the two IDs and the type of constraint
0302     The ids are references to tasks, so all tasks must have been loaded
0303 -->
0304 <!ELEMENT relation EMPTY>
0305 <!ATTLIST relation
0306         parent-id CDATA #REQUIRED
0307     child-id CDATA #REQUIRED
0308     type (Finish-Start|Finish-Finish|Start-Start) "Start-Start"
0309     lag CDATA #IMPLIED>
0310 
0311 
0312 <!-- resource teams (if any) -->
0313 <!ELEMENT resource-teams (team*)>
0314 <!ELEMENT team EMPTY>
0315 <!ATTLIST team
0316     team-id CDATA #REQUIRED
0317     member-id CDATA #REQUIRED>