root/trunk/src/xml/schema/usecase.xsd

Revision 1011, 10.1 kB (checked in by amandel, 4 years ago)

Aligned svn keyword settings.

  • Property svn:mime-type set to text/xml
  • Property svn:eol-style set to native
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
3            xmlns:docbook="http://docbook.org/ns/docbook"
4            xmlns:uc="uc"
5            targetNamespace="uc">
6   <xsd:import schemaLocation="http://www.docbook.org/xsd/4.2/docbook.xsd"/>
7
8   <xsd:simpleType name='useCaseId'>
9      <xsd:restriction base='xsd:string'>
10         <xsd:pattern value='UC-[0-9]+'/>
11      </xsd:restriction>
12   </xsd:simpleType>
13
14   <xsd:simpleType name='stepId'>
15      <xsd:restriction base='xsd:string'>
16         <xsd:pattern value='[0-9]+'/>
17      </xsd:restriction>
18   </xsd:simpleType>
19
20   <xsd:simpleType name='useCaseLevel'>
21      <xsd:restriction base='xsd:string'>
22         <xsd:enumeration value="Summary"/>
23         <xsd:enumeration value="UserGoal"/>
24         <xsd:enumeration value="Component"/>
25      </xsd:restriction>
26   </xsd:simpleType>
27
28   <xsd:simpleType name='useCasePriority'>
29      <xsd:restriction base='xsd:string'>
30         <xsd:pattern value='High|Medium|Low'/>
31      </xsd:restriction>
32   </xsd:simpleType>
33
34   <xsd:element name="channel" type="xsd:string"/>
35   <xsd:element name="version" type="xsd:string"/>
36   <xsd:element name="name" type="xsd:string"/>
37   <xsd:element name="scope" type="xsd:string"/>
38   <xsd:element name="trigger" type="xsd:string"/>
39   <xsd:element name="priority" type="uc:useCasePriority"/>
40   <xsd:element name="response_time" type="xsd:string"/>
41   <xsd:element name="frequency_of_use" type="xsd:string"/>
42   <xsd:element name="stakeholder" type="xsd:string"/>
43   <xsd:element name="commitlog" type="xsd:string"/>
44
45   <xsd:element name="ref">
46      <xsd:complexType>
47         <xsd:attribute name="id" type="xsd:string" use="required"/>
48         <xsd:attribute name="issue" type="xsd:string"/>
49      </xsd:complexType>
50   </xsd:element>
51
52
53   <xsd:element name="primary">
54      <xsd:complexType>
55         <xsd:sequence>
56            <xsd:element ref="uc:name" minOccurs="0" maxOccurs="100"/>
57            <xsd:element ref="uc:channel" minOccurs="0" maxOccurs="100"/>
58         </xsd:sequence>
59         <xsd:attribute name="issue" type="xsd:string"/>
60      </xsd:complexType>
61   </xsd:element>
62
63   <xsd:element name="secondary">
64      <xsd:complexType>
65         <xsd:sequence>
66            <xsd:element ref="uc:name" minOccurs="0" maxOccurs="100"/>
67            <xsd:element ref="uc:channel" minOccurs="0" maxOccurs="100"/>
68         </xsd:sequence>
69         <xsd:attribute name="issue" type="xsd:string"/>
70      </xsd:complexType>
71   </xsd:element>
72
73   <xsd:group name="content">
74      <xsd:sequence>
75           <xsd:element ref="para" minOccurs="0"/>
76           <xsd:element ref="itemizedlist" minOccurs="0"/>
77           <xsd:element ref="segmentedlist" minOccurs="0"/>
78           <xsd:element ref="table" minOccurs="0"/>
79           <xsd:element ref="indexterm" minOccurs="0"/>
80           <xsd:element ref="uc:ref" minOccurs="0" maxOccurs="100"/>
81           <xsd:any minOccurs="0" maxOccurs="unbounded"/>
82      </xsd:sequence>
83   </xsd:group>
84
85   <xsd:element name="step">
86     <xsd:complexType mixed="true">
87        <xsd:sequence>
88           <xsd:group ref="uc:content"/>
89         </xsd:sequence>
90         <xsd:attribute name="id" type="uc:stepId" use="required"/>
91         <xsd:attribute name="desc" type="xsd:string" use="required"/>
92         <xsd:attribute name="issue" type="xsd:string"/>
93      </xsd:complexType>
94   </xsd:element>
95
96   <xsd:element name="precondition">
97     <xsd:complexType  mixed="true">
98        <xsd:sequence>
99           <xsd:group ref="uc:content"/>
100         </xsd:sequence>
101         <xsd:attribute name="issue" type="xsd:string"/>
102      </xsd:complexType>
103   </xsd:element>
104
105   <xsd:element name="test-annotations">
106     <xsd:complexType  mixed="true">
107        <xsd:sequence>
108           <xsd:group ref="uc:content"/>
109         </xsd:sequence>
110         <xsd:attribute name="issue" type="xsd:string"/>
111      </xsd:complexType>
112   </xsd:element>
113
114   <xsd:element name="minimal">
115      <xsd:complexType mixed="true">
116         <xsd:sequence>
117            <xsd:group ref="uc:content"/>
118          </xsd:sequence>
119          <xsd:attribute name="issue" type="xsd:string"/>
120       </xsd:complexType>
121    </xsd:element>
122
123   <xsd:element name="success">
124     <xsd:complexType mixed="true">
125                 <xsd:sequence>
126                    <xsd:element ref="uc:step" minOccurs="0" maxOccurs="100"/>
127                <xsd:group ref="uc:content"/>
128                  </xsd:sequence>
129        <xsd:attribute name="desc" type="xsd:string" use="optional">
130          <xsd:annotation>
131            <xsd:documentation xml:lang="en">This optional text will occur on the
132              edge leading to this node in the generated diagram.</xsd:documentation>
133          </xsd:annotation>
134        </xsd:attribute>
135        <xsd:attribute name="issue" type="xsd:string"/>
136      </xsd:complexType>
137   </xsd:element>
138
139   <xsd:element name="goal">
140      <xsd:complexType mixed="true">
141         <xsd:sequence>
142            <xsd:group ref="uc:content"/>
143         </xsd:sequence>
144         <xsd:attribute name="issue" type="xsd:string"/>
145       </xsd:complexType>
146   </xsd:element>
147
148   <xsd:element name="open_issue">
149      <xsd:complexType mixed="true">
150         <xsd:sequence>
151            <xsd:group ref="uc:content"/>
152          </xsd:sequence>
153          <xsd:attribute name="issue" type="xsd:string"/>
154       </xsd:complexType>
155   </xsd:element>
156
157   <xsd:element name="description">
158      <xsd:complexType mixed="true">
159         <xsd:sequence>
160            <xsd:group ref="uc:content"/>
161          </xsd:sequence>
162          <xsd:attribute name="issue" type="xsd:string"/>
163       </xsd:complexType>
164   </xsd:element>
165
166   <xsd:element name="extension">
167      <xsd:complexType>
168       <xsd:sequence>
169          <xsd:element ref="uc:step" minOccurs="0" maxOccurs="100"/>
170       </xsd:sequence>
171       <xsd:attribute name="id" type="xsd:string" use="required"/>
172       <xsd:attribute name="name" type="xsd:string" use="required"/>
173       <xsd:attribute name="desc" type="xsd:string" use="optional"/>
174       <xsd:attribute name="issue" type="xsd:string"/>
175      </xsd:complexType>
176   </xsd:element>
177
178   <xsd:element name="actors">
179     <xsd:complexType>
180        <xsd:sequence>
181           <xsd:element ref="uc:primary" minOccurs="1" maxOccurs="100"/>
182           <xsd:element ref="uc:secondary" minOccurs="1" maxOccurs="100"/>
183         </xsd:sequence>
184         <xsd:attribute name="issue" type="xsd:string"/>
185      </xsd:complexType>
186   </xsd:element>
187
188   <xsd:element name="guarantees">
189     <xsd:complexType>
190        <xsd:sequence>
191           <xsd:element ref="uc:success"/>
192           <xsd:element ref="uc:minimal"/>
193         </xsd:sequence>
194         <xsd:attribute name="issue" type="xsd:string"/>
195      </xsd:complexType>
196   </xsd:element>
197
198   <!-- xsd:element name="success" type="uc:success"/>
199   <xsd:element name="extension" type="uc:extension"/ -->
200
201   <xsd:element name="usecase">
202      <xsd:complexType>
203         <xsd:sequence>
204            <xsd:element ref="uc:version" minOccurs="1" maxOccurs="1"/>
205            <xsd:element ref="uc:name" minOccurs="1" maxOccurs="1"/>
206            <xsd:element ref="uc:goal" minOccurs="1" maxOccurs="1"/>
207            <xsd:element ref="uc:description" minOccurs="0" maxOccurs="1"/>
208            <xsd:element ref="uc:scope" minOccurs="1" maxOccurs="1"/>
209            <xsd:element ref="uc:trigger" minOccurs="1" maxOccurs="1"/>
210            <xsd:element ref="uc:priority" minOccurs="1" maxOccurs="1"/>
211            <xsd:element ref="uc:response_time" minOccurs="1" maxOccurs="1"/>
212            <xsd:element ref="uc:frequency_of_use" minOccurs="1" maxOccurs="1"/>
213            <xsd:element ref="uc:actors" minOccurs="1" maxOccurs="1"/>
214            <xsd:element ref="uc:stakeholder" minOccurs="1" maxOccurs="100"/>
215            <xsd:element ref="uc:precondition" minOccurs="1" maxOccurs="1"/>
216            <xsd:element ref="uc:guarantees" minOccurs="1" maxOccurs="1"/>
217            <xsd:element ref="uc:success" minOccurs="1" maxOccurs="1"/>
218            <xsd:element ref="uc:extension" minOccurs="0" maxOccurs="100"/>
219            <xsd:element ref="uc:test-annotations" minOccurs="0" maxOccurs="100"/>
220            <xsd:element ref="uc:open_issue" minOccurs="0" maxOccurs="100"/>
221            <xsd:element ref="uc:commitlog" minOccurs="1" maxOccurs="1"/>
222         </xsd:sequence>
223         <xsd:attribute name="id" type="uc:useCaseId" use="required"/>
224         <xsd:attribute name="level" type="uc:useCaseLevel" use="required"/>
225         <xsd:attribute name="issue" type="xsd:string"/>
226         <xsd:attribute name="suppress_diagram" type="xsd:boolean" use="optional">
227           <xsd:annotation>
228             <xsd:documentation xml:lang="en">When set to true the generated
229               diagram will be suppressed.</xsd:documentation>
230           </xsd:annotation>
231         </xsd:attribute>
232      </xsd:complexType>
233   </xsd:element>
234
235   <xsd:element name="info">
236      <xsd:complexType>
237         <xsd:attribute name="project"     type="xsd:string"  use="required"/>
238         <xsd:attribute name="version"     type="xsd:string"  use="required"/>
239         <xsd:attribute name="useTemplate" type="xsd:boolean" default="false"/>
240         <xsd:attribute name="issue"       type="xsd:string"/>
241         <xsd:attribute name="state"       type="xsd:string"/>
242         <xsd:attribute name="suppress_diagrams" type="xsd:boolean" use="optional">
243           <xsd:annotation>
244             <xsd:documentation xml:lang="en">When set to true all generated
245               diagrams will be suppressed.</xsd:documentation>
246           </xsd:annotation>
247         </xsd:attribute>
248         <xsd:attribute name="suppress_revision_list" type="xsd:boolean" use="optional">
249           <xsd:annotation>
250             <xsd:documentation xml:lang="en">When set to true the list of use case
251              revisions in the generated document will be suppressed.</xsd:documentation>
252           </xsd:annotation>
253         </xsd:attribute>
254      </xsd:complexType>
255   </xsd:element>
256
257   <xsd:element name="usecases">
258      <xsd:complexType>
259         <xsd:sequence>
260            <xsd:element ref="uc:info" />
261            <xsd:element ref="uc:usecase" />
262            <xsd:element ref="bookinfo" />
263            <xsd:element ref="chapter" />
264            <xsd:any minOccurs="0" maxOccurs="100"/>
265         </xsd:sequence>
266      </xsd:complexType>
267   </xsd:element>
268</xsd:schema>
Note: See TracBrowser for help on using the browser.