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

Revision 1011, 7.2 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" xmlns:docbook="http://docbook.org/ns/docbook" xmlns:req="req" targetNamespace="req">
3   <xsd:import schemaLocation="http://www.docbook.org/xsd/4.5/docbook.xsd"/>
4
5   <xsd:simpleType name="requirementPriority">
6      <xsd:restriction base="xsd:string">
7         <xsd:pattern value="High|Medium|Low"/>
8      </xsd:restriction>
9   </xsd:simpleType>
10
11   <xsd:element name="ref">
12      <xsd:complexType>
13         <xsd:attribute name="id" type="xsd:string" use="required"/>
14      </xsd:complexType>
15   </xsd:element>
16   <xsd:element name="title" type="xsd:string"/>
17   <xsd:element name="key" type="xsd:string"/>
18   <xsd:element name="summary" type="xsd:string"/>
19   <xsd:element name="priority" type="req:requirementPriority"/>
20   <xsd:element name="version" type="xsd:string"/>
21   <xsd:element name="open_issue" type="xsd:string"/>
22   <xsd:element name="constraints" type="xsd:string"/>
23   <xsd:element name="pattern" type="xsd:string"/>
24   <xsd:element name="linkend" type="xsd:string"/>
25   <xsd:element name="linkstart" type="xsd:string"/>
26   <xsd:element name="primary" type="xsd:string"/>
27   <xsd:element name="secondary" type="xsd:string"/>
28   <xsd:element name="tertiary" type="xsd:string"/>
29   <xsd:element name="acronym" type="xsd:string"/>
30   <xsd:element name="commitlog" type="xsd:string"/>
31
32   <xsd:group name="content">
33      <xsd:sequence>
34           <xsd:element ref="para" minOccurs="0" maxOccurs="100"/>
35           <xsd:element ref="itemizedlist" minOccurs="0" maxOccurs="100"/>
36           <xsd:element ref="segmentedlist" minOccurs="0" maxOccurs="100"/>
37           <xsd:element ref="table" minOccurs="0" maxOccurs="100"/>
38           <xsd:element ref="indexterm" minOccurs="0" maxOccurs="100"/>
39           <xsd:element ref="emphasis" minOccurs="0" maxOccurs="100"/>
40           <xsd:element ref="sbr" minOccurs="0" maxOccurs="100"/>
41           <xsd:element ref="req:ref" minOccurs="0" maxOccurs="100"/>
42           <xsd:any minOccurs="0" maxOccurs="unbounded"/>
43      </xsd:sequence>
44   </xsd:group>
45
46
47   <!-- entities and attributes for the data model -->
48   <xsd:element name="name">
49      <xsd:complexType mixed="true">
50         <xsd:attribute name="lang" type="xsd:string"/>
51         <xsd:attribute name="issue" type="xsd:string"/>
52      </xsd:complexType>
53   </xsd:element>
54
55   <xsd:element name="alternative_name">
56      <xsd:complexType>
57         <xsd:sequence>
58            <xsd:element ref="req:name" minOccurs="1" maxOccurs="unbounded"/>
59         </xsd:sequence>
60         <xsd:attribute name="issue" type="xsd:string"/>
61      </xsd:complexType>
62   </xsd:element>
63
64   <xsd:element name="objectreference">
65      <xsd:complexType>
66         <xsd:sequence>
67            <xsd:element ref="req:linkstart" minOccurs="1" maxOccurs="1"/>
68            <xsd:element ref="req:linkend" minOccurs="1" maxOccurs="1"/>
69            <xsd:element ref="req:ref" minOccurs="0" maxOccurs="1"/>
70         </xsd:sequence>
71         <xsd:attribute name="issue" type="xsd:string"/>
72      </xsd:complexType>
73   </xsd:element>
74
75   <xsd:element name="attribute">
76      <xsd:complexType>
77         <xsd:sequence>
78            <xsd:element ref="req:name" minOccurs="1" maxOccurs="1"/>
79            <xsd:element ref="req:alternative_name" minOccurs="0" maxOccurs="1"/>
80            <xsd:element ref="req:pattern" minOccurs="1" maxOccurs="1"/>
81            <xsd:element ref="req:objectreference" minOccurs="0" maxOccurs="1"/>
82            <xsd:element ref="req:constraints" minOccurs="0" maxOccurs="1"/>
83            <xsd:element ref="req:description" minOccurs="0" maxOccurs="1"/>
84         </xsd:sequence>
85         <xsd:attribute name="issue" type="xsd:string"/>
86      </xsd:complexType>
87   </xsd:element>
88
89   <xsd:element name="term">
90      <xsd:complexType>
91         <xsd:sequence>
92            <xsd:element ref="req:name" minOccurs="1" maxOccurs="1"/>
93            <xsd:element ref="req:alternative_name" minOccurs="0" maxOccurs="1"/>
94            <xsd:element ref="req:acronym" minOccurs="0" maxOccurs="1"/>
95         </xsd:sequence>
96         <xsd:attribute name="issue" type="xsd:string"/>
97      </xsd:complexType>
98   </xsd:element>
99
100   <xsd:element name="entity">
101      <xsd:complexType>
102         <xsd:sequence>
103            <xsd:element ref="req:name" minOccurs="1" maxOccurs="1"/>
104            <xsd:element ref="req:alternative_name" minOccurs="0" maxOccurs="1"/>
105            <xsd:element ref="req:constraints" minOccurs="0" maxOccurs="1"/>
106            <xsd:element ref="req:attribute" minOccurs="0" maxOccurs="unbounded"/>
107         </xsd:sequence>
108         <xsd:attribute name="issue" type="xsd:string"/>
109      </xsd:complexType>
110   </xsd:element>
111
112   <xsd:element name="category">
113      <xsd:complexType>
114         <xsd:sequence>
115            <xsd:element ref="req:primary" minOccurs="1" maxOccurs="1"/>
116            <xsd:element ref="req:secondary" minOccurs="0" maxOccurs="1"/>
117            <xsd:element ref="req:tertiary" minOccurs="0" maxOccurs="1"/>
118         </xsd:sequence>
119         <xsd:attribute name="issue" type="xsd:string"/>
120      </xsd:complexType>
121   </xsd:element>
122
123   <!-- the main description with free docbook based text -->
124   <xsd:element name="description">
125      <xsd:complexType mixed="true">
126         <xsd:sequence>
127            <xsd:group ref="req:content"/>
128         </xsd:sequence>
129         <xsd:attribute name="issue" type="xsd:string"/>
130      </xsd:complexType>
131   </xsd:element>
132
133   <xsd:element name="superior">
134      <xsd:complexType>
135         <xsd:sequence>
136            <xsd:element ref="req:ref" minOccurs="1" maxOccurs="1"/>
137         </xsd:sequence>
138         <xsd:attribute name="issue" type="xsd:string"/>
139      </xsd:complexType>
140   </xsd:element>
141
142   <xsd:element name="role">
143      <xsd:complexType>
144         <xsd:sequence>
145            <xsd:element ref="req:name" minOccurs="1" maxOccurs="1"/>
146            <xsd:element ref="req:alternative_name" minOccurs="0" maxOccurs="1"/>
147            <xsd:element ref="req:superior" minOccurs="0" maxOccurs="1"/>
148         </xsd:sequence>
149         <xsd:attribute name="issue" type="xsd:string"/>
150      </xsd:complexType>
151   </xsd:element>
152
153   <!-- the root requirement element -->
154   <xsd:element name="requirement">
155      <xsd:complexType>
156         <xsd:sequence>
157            <xsd:element ref="req:title" minOccurs="1" maxOccurs="1"/>
158            <xsd:element ref="req:alternative_name" minOccurs="0" maxOccurs="1"/>
159            <xsd:element ref="req:category" minOccurs="1" maxOccurs="1"/>
160            <xsd:element ref="req:key" minOccurs="1" maxOccurs="1"/>
161            <xsd:element ref="req:summary" minOccurs="1" maxOccurs="1"/>
162            <xsd:element ref="req:priority" minOccurs="1" maxOccurs="1"/>
163            <xsd:element ref="req:description" minOccurs="1" maxOccurs="1"/>
164            <xsd:element ref="req:term" minOccurs="0" maxOccurs="1"/>
165            <xsd:element ref="req:entity" minOccurs="0" maxOccurs="1"/>
166            <xsd:element ref="req:role" minOccurs="0" maxOccurs="1"/>
167            <xsd:element ref="req:version" minOccurs="1" maxOccurs="1"/>
168            <xsd:element ref="req:open_issue" minOccurs="0" maxOccurs="unbounded"/>
169            <xsd:element ref="req:commitlog" minOccurs="1" maxOccurs="1"/>
170         </xsd:sequence>
171         <xsd:attribute name="issue" type="xsd:string"/>
172      </xsd:complexType>
173   </xsd:element>
174</xsd:schema>
Note: See TracBrowser for help on using the browser.