1
+ <?xml version =" 1.0" encoding =" UTF-8" ?>
2
+ <xs : schema xmlns : xs =" http://www.w3.org/2001/XMLSchema" >
3
+ <xs : annotation >
4
+ <xs : documentation source =" http://www.phpunit.de/manual/3.7/en/appendixes.configuration.html" >
5
+ This Schema file defines the rules by which the XML configuration file of PHPUnit 3.7 may be structured.
6
+ </xs : documentation >
7
+ <xs : appinfo source =" http://www.phpunit.de/manual/current/en/appendixes.configuration.html" />
8
+ </xs : annotation >
9
+ <xs : element name =" phpunit" type =" phpUnitType" >
10
+ <xs : annotation >
11
+ <xs : documentation >Root Element</xs : documentation >
12
+ </xs : annotation >
13
+ </xs : element >
14
+ <xs : complexType name =" filtersType" >
15
+ <xs : choice >
16
+ <xs : sequence >
17
+ <xs : element name =" blacklist" type =" filterType" />
18
+ <xs : element name =" whitelist" type =" whiteListType" minOccurs =" 0" />
19
+ </xs : sequence >
20
+ <xs : sequence >
21
+ <xs : element name =" whitelist" type =" whiteListType" />
22
+ </xs : sequence >
23
+ </xs : choice >
24
+ </xs : complexType >
25
+ <xs : complexType name =" filterType" >
26
+ <xs : sequence >
27
+ <xs : group ref =" pathGroup" />
28
+ <xs : element name =" exclude" maxOccurs =" unbounded" minOccurs =" 0" >
29
+ <xs : complexType >
30
+ <xs : group ref =" pathGroup" />
31
+ </xs : complexType >
32
+ </xs : element >
33
+ </xs : sequence >
34
+ </xs : complexType >
35
+ <xs : complexType name =" whiteListType" >
36
+ <xs : complexContent >
37
+ <xs : extension base =" filterType" >
38
+ <xs : attribute name =" processUncoveredFilesFromWhitelist" default =" true" type =" xs:boolean" />
39
+ </xs : extension >
40
+ </xs : complexContent >
41
+ </xs : complexType >
42
+ <xs : complexType name =" groupsType" >
43
+ <xs : choice >
44
+ <xs : sequence >
45
+ <xs : element name =" include" type =" groupType" />
46
+ <xs : element name =" exclude" type =" groupType" minOccurs =" 0" />
47
+ </xs : sequence >
48
+ <xs : sequence >
49
+ <xs : element name =" exclude" type =" groupType" />
50
+ </xs : sequence >
51
+ </xs : choice >
52
+ </xs : complexType >
53
+ <xs : complexType name =" groupType" >
54
+ <xs : sequence >
55
+ <xs : element name =" group" type =" xs:string" maxOccurs =" unbounded" />
56
+ </xs : sequence >
57
+ </xs : complexType >
58
+ <xs : complexType name =" listenersType" >
59
+ <xs : sequence >
60
+ <xs : element name =" listener" type =" objectType" maxOccurs =" unbounded" />
61
+ </xs : sequence >
62
+ </xs : complexType >
63
+ <xs : complexType name =" objectType" >
64
+ <xs : sequence >
65
+ <xs : element name =" arguments" minOccurs =" 0" >
66
+ <xs : complexType >
67
+ <xs : group ref =" argumentsGroup" />
68
+ </xs : complexType >
69
+ </xs : element >
70
+ </xs : sequence >
71
+ <xs : attribute name =" class" type =" xs:string" use =" required" />
72
+ <xs : attribute name =" file" type =" xs:anyURI" />
73
+ </xs : complexType >
74
+ <xs : complexType name =" arrayType" >
75
+ <xs : sequence >
76
+ <xs : element name =" element" type =" argumentType" minOccurs =" 0" maxOccurs =" unbounded" />
77
+ </xs : sequence >
78
+ </xs : complexType >
79
+ <xs : complexType name =" argumentType" >
80
+ <xs : group ref =" argumentChoice" />
81
+ <xs : attribute name =" key" use =" required" />
82
+ </xs : complexType >
83
+ <xs : group name =" argumentsGroup" >
84
+ <xs : sequence >
85
+ <xs : element name =" array" type =" arrayType" minOccurs =" 0" maxOccurs =" unbounded" />
86
+ <xs : element name =" integer" type =" xs:integer" minOccurs =" 0" maxOccurs =" unbounded" />
87
+ <xs : element name =" string" type =" xs:string" minOccurs =" 0" maxOccurs =" unbounded" />
88
+ <xs : element name =" double" type =" xs:double" minOccurs =" 0" maxOccurs =" unbounded" />
89
+ <xs : element name =" null" minOccurs =" 0" maxOccurs =" unbounded" />
90
+ <xs : element name =" object" type =" objectType" minOccurs =" 0" maxOccurs =" unbounded" />
91
+ <xs : element name =" file" type =" xs:anyURI" minOccurs =" 0" maxOccurs =" unbounded" />
92
+ <xs : element name =" directory" type =" xs:anyURI" minOccurs =" 0" maxOccurs =" unbounded" />
93
+ </xs : sequence >
94
+ </xs : group >
95
+ <xs : group name =" argumentChoice" >
96
+ <xs : choice >
97
+ <xs : element name =" array" type =" arrayType" minOccurs =" 0" maxOccurs =" unbounded" />
98
+ <xs : element name =" integer" type =" xs:integer" minOccurs =" 0" maxOccurs =" unbounded" />
99
+ <xs : element name =" string" type =" xs:string" minOccurs =" 0" maxOccurs =" unbounded" />
100
+ <xs : element name =" double" type =" xs:double" minOccurs =" 0" maxOccurs =" unbounded" />
101
+ <xs : element name =" null" minOccurs =" 0" maxOccurs =" unbounded" />
102
+ <xs : element name =" object" type =" objectType" minOccurs =" 0" maxOccurs =" unbounded" />
103
+ <xs : element name =" file" type =" xs:anyURI" minOccurs =" 0" maxOccurs =" unbounded" />
104
+ <xs : element name =" directory" type =" xs:anyURI" minOccurs =" 0" maxOccurs =" unbounded" />
105
+ </xs : choice >
106
+ </xs : group >
107
+ <xs : complexType name =" loggersType" >
108
+ <xs : sequence >
109
+ <xs : element name =" log" type =" loggerType" maxOccurs =" unbounded" />
110
+ </xs : sequence >
111
+ </xs : complexType >
112
+ <xs : complexType name =" loggerType" >
113
+ <xs : attribute name =" type" >
114
+ <xs : simpleType >
115
+ <xs : restriction base =" xs:string" >
116
+ <xs : enumeration value =" coverage-html" />
117
+ <xs : enumeration value =" coverage-clover" />
118
+ <xs : enumeration value =" json" />
119
+ <xs : enumeration value =" plain" />
120
+ <xs : enumeration value =" tap" />
121
+ <xs : enumeration value =" junit" />
122
+ <xs : enumeration value =" testdox-html" />
123
+ <xs : enumeration value =" testdox-text" />
124
+ </xs : restriction >
125
+ </xs : simpleType >
126
+ </xs : attribute >
127
+ <xs : attribute name =" target" type =" xs:anyURI" />
128
+ <xs : attribute name =" title" type =" xs:string" />
129
+ <xs : attribute name =" charset" type =" xs:string" default =" UTF-8" />
130
+ <xs : attribute name =" yui" type =" xs:boolean" default =" true" />
131
+ <xs : attribute name =" highlight" type =" xs:boolean" default =" false" />
132
+ <xs : attribute name =" lowUpperBound" type =" xs:nonNegativeInteger" default =" 35" />
133
+ <xs : attribute name =" highLowerBound" type =" xs:nonNegativeInteger" default =" 70" />
134
+ <xs : attribute name =" logIncompleteSkipped" type =" xs:boolean" default =" false" />
135
+ </xs : complexType >
136
+ <xs : group name =" pathGroup" >
137
+ <xs : sequence >
138
+ <xs : element name =" directory" type =" directoryFilterType" minOccurs =" 0" maxOccurs =" unbounded" />
139
+ <xs : element name =" file" type =" fileFilterType" minOccurs =" 0" maxOccurs =" unbounded" />
140
+ </xs : sequence >
141
+ </xs : group >
142
+ <xs : complexType name =" directoryFilterType" >
143
+ <xs : simpleContent >
144
+ <xs : extension base =" xs:anyURI" >
145
+ <xs : attribute type =" xs:string" name =" suffix" default =" Test.php" />
146
+ <xs : attributeGroup ref =" phpVersionGroup" />
147
+ </xs : extension >
148
+ </xs : simpleContent >
149
+ </xs : complexType >
150
+ <xs : complexType name =" fileFilterType" >
151
+ <xs : simpleContent >
152
+ <xs : extension base =" xs:anyURI" >
153
+ <xs : attributeGroup ref =" phpVersionGroup" />
154
+ </xs : extension >
155
+ </xs : simpleContent >
156
+ </xs : complexType >
157
+ <xs : attributeGroup name =" phpVersionGroup" >
158
+ <xs : attribute name =" phpVersion" type =" xs:string" default =" 5.3.0" />
159
+ <xs : attribute name =" phpVersionOperator" type =" xs:string" default =" > =" />
160
+ </xs : attributeGroup >
161
+ <xs : complexType name =" phpType" >
162
+ <xs : sequence >
163
+ <xs : element name =" includePath" type =" xs:anyURI" minOccurs =" 0" maxOccurs =" unbounded" />
164
+ <xs : element name =" ini" type =" namedValueType" minOccurs =" 0" maxOccurs =" unbounded" />
165
+ <xs : element name =" const" type =" namedValueType" minOccurs =" 0" maxOccurs =" unbounded" />
166
+ <xs : element name =" var" type =" namedValueType" minOccurs =" 0" maxOccurs =" unbounded" />
167
+ <xs : element name =" env" type =" namedValueType" minOccurs =" 0" maxOccurs =" unbounded" />
168
+ <xs : element name =" post" type =" namedValueType" minOccurs =" 0" maxOccurs =" unbounded" />
169
+ <xs : element name =" get" type =" namedValueType" minOccurs =" 0" maxOccurs =" unbounded" />
170
+ <xs : element name =" cookie" type =" namedValueType" minOccurs =" 0" maxOccurs =" unbounded" />
171
+ <xs : element name =" server" type =" namedValueType" minOccurs =" 0" maxOccurs =" unbounded" />
172
+ <xs : element name =" files" type =" namedValueType" minOccurs =" 0" maxOccurs =" unbounded" />
173
+ <xs : element name =" request" type =" namedValueType" minOccurs =" 0" maxOccurs =" unbounded" />
174
+ </xs : sequence >
175
+ </xs : complexType >
176
+ <xs : complexType name =" namedValueType" >
177
+ <xs : attribute name =" name" use =" required" type =" xs:string" />
178
+ <xs : attribute name =" value" use =" required" type =" xs:anySimpleType" />
179
+ </xs : complexType >
180
+ <xs : complexType name =" phpUnitType" >
181
+ <xs : annotation >
182
+ <xs : documentation >The main type specifying the document structure</xs : documentation >
183
+ </xs : annotation >
184
+ <xs : group ref =" configGroup" />
185
+ <xs : attributeGroup ref =" configAttributeGroup" />
186
+ </xs : complexType >
187
+ <xs : attributeGroup name =" configAttributeGroup" >
188
+ <xs : attribute name =" backupGlobals" type =" xs:boolean" default =" true" />
189
+ <xs : attribute name =" backupStaticAttributes" type =" xs:boolean" default =" false" />
190
+ <xs : attribute name =" bootstrap" type =" xs:anyURI" />
191
+ <xs : attribute name =" cacheTokens" type =" xs:boolean" />
192
+ <xs : attribute name =" colors" type =" xs:boolean" default =" false" />
193
+ <xs : attribute name =" convertErrorsToExceptions" type =" xs:boolean" default =" true" />
194
+ <xs : attribute name =" convertNoticesToExceptions" type =" xs:boolean" default =" true" />
195
+ <xs : attribute name =" convertWarningsToExceptions" type =" xs:boolean" default =" true" />
196
+ <xs : attribute name =" forceCoversAnnotation" type =" xs:boolean" default =" false" />
197
+ <xs : attribute name =" mapTestClassNameToCoveredClassName" type =" xs:boolean" default =" false" />
198
+ <xs : attribute name =" printerClass" type =" xs:string" default =" PHPUnit_TextUI_ResultPrinter" />
199
+ <xs : attribute name =" printerFile" type =" xs:anyURI" />
200
+ <xs : attribute name =" processIsolation" type =" xs:boolean" default =" false" />
201
+ <xs : attribute name =" stopOnError" type =" xs:boolean" default =" false" />
202
+ <xs : attribute name =" stopOnFailure" type =" xs:boolean" default =" false" />
203
+ <xs : attribute name =" stopOnIncomplete" type =" xs:boolean" default =" false" />
204
+ <xs : attribute name =" stopOnSkipped" type =" xs:boolean" default =" false" />
205
+ <xs : attribute name =" strict" type =" xs:boolean" default =" false" />
206
+ <xs : attribute name =" testSuiteLoaderClass" type =" xs:string" default =" PHPUnit_Runner_StandardTestSuiteLoader" />
207
+ <xs : attribute name =" testSuiteLoaderFile" type =" xs:anyURI" />
208
+ <xs : attribute name =" timeoutForSmallTests" type =" xs:integer" default =" 1" />
209
+ <xs : attribute name =" timeoutForMediumTests" type =" xs:integer" default =" 10" />
210
+ <xs : attribute name =" timeoutForLargeTests" type =" xs:integer" default =" 60" />
211
+ <xs : attribute name =" verbose" type =" xs:boolean" default =" false" />
212
+ </xs : attributeGroup >
213
+ <xs : group name =" configGroup" >
214
+ <xs : all >
215
+ <xs : element ref =" testSuiteFacet" minOccurs =" 0" />
216
+ <xs : element name =" groups" type =" groupsType" minOccurs =" 0" />
217
+ <xs : element name =" filter" type =" filtersType" minOccurs =" 0" />
218
+ <xs : element name =" logging" type =" loggersType" minOccurs =" 0" />
219
+ <xs : element name =" listeners" type =" listenersType" minOccurs =" 0" />
220
+ <xs : element name =" php" type =" phpType" minOccurs =" 0" />
221
+ <xs : element name =" selenium" type =" seleniumType" minOccurs =" 0" />
222
+ </xs : all >
223
+ </xs : group >
224
+ <xs : complexType name =" seleniumType" >
225
+ <xs : sequence >
226
+ <xs : element name =" browser" type =" browserType" />
227
+ </xs : sequence >
228
+ </xs : complexType >
229
+ <xs : complexType name =" browserType" >
230
+ <xs : attribute name =" name" type =" xs:string" />
231
+ <xs : attribute name =" browser" type =" xs:string" />
232
+ <xs : attribute name =" host" type =" xs:anyURI" />
233
+ <xs : attribute name =" port" type =" xs:nonNegativeInteger" />
234
+ <xs : attribute name =" timeout" type =" xs:nonNegativeInteger" />
235
+ </xs : complexType >
236
+ <xs : element name =" testSuiteFacet" abstract =" true" />
237
+ <xs : element name =" testsuite" type =" testSuiteType" substitutionGroup =" testSuiteFacet" />
238
+ <xs : element name =" testsuites" type =" testSuitesType" substitutionGroup =" testSuiteFacet" />
239
+ <xs : complexType name =" testSuitesType" >
240
+ <xs : sequence >
241
+ <xs : element name =" testsuite" type =" testSuiteType" />
242
+ </xs : sequence >
243
+ </xs : complexType >
244
+ <xs : complexType name =" testSuiteType" >
245
+ <xs : sequence >
246
+ <xs : group ref =" pathGroup" />
247
+ <xs : element name =" exclude" type =" xs:anyURI" minOccurs =" 0" maxOccurs =" unbounded" />
248
+ </xs : sequence >
249
+ <xs : attribute name =" name" type =" xs:string" use =" required" />
250
+ </xs : complexType >
251
+ </xs : schema >
0 commit comments