1
<?xml version="1.0" encoding="UTF-8"?>
2
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
4
<xs:documentation source="https://phpunit.de/manual/4.4/en/appendixes.configuration.html">
5
This Schema file defines the rules by which the XML configuration file of PHPUnit 4.4 may be structured.
7
<xs:appinfo source="http://www.phpunit.de/manual/current/en/appendixes.configuration.html"/>
9
<xs:element name="phpunit" type="phpUnitType">
11
<xs:documentation>Root Element</xs:documentation>
14
<xs:complexType name="filtersType">
17
<xs:element name="blacklist" type="filterType"/>
18
<xs:element name="whitelist" type="whiteListType" minOccurs="0"/>
21
<xs:element name="whitelist" type="whiteListType"/>
25
<xs:complexType name="filterType">
27
<xs:group ref="pathGroup"/>
28
<xs:element name="exclude" maxOccurs="unbounded" minOccurs="0">
30
<xs:group ref="pathGroup"/>
35
<xs:complexType name="whiteListType">
37
<xs:extension base="filterType">
38
<xs:attribute name="addUncoveredFilesFromWhitelist" default="false" type="xs:boolean"/>
39
<xs:attribute name="processUncoveredFilesFromWhitelist" default="true" type="xs:boolean"/>
43
<xs:complexType name="groupsType">
46
<xs:element name="include" type="groupType"/>
47
<xs:element name="exclude" type="groupType" minOccurs="0"/>
50
<xs:element name="exclude" type="groupType"/>
54
<xs:complexType name="groupType">
56
<xs:element name="group" type="xs:string" maxOccurs="unbounded"/>
59
<xs:complexType name="listenersType">
61
<xs:element name="listener" type="objectType" maxOccurs="unbounded"/>
64
<xs:complexType name="objectType">
66
<xs:element name="arguments" minOccurs="0">
68
<xs:group ref="argumentsGroup"/>
72
<xs:attribute name="class" type="xs:string" use="required"/>
73
<xs:attribute name="file" type="xs:anyURI"/>
75
<xs:complexType name="arrayType">
77
<xs:element name="element" type="argumentType" minOccurs="0" maxOccurs="unbounded"/>
80
<xs:complexType name="argumentType">
81
<xs:group ref="argumentChoice"/>
82
<xs:attribute name="key" use="required"/>
84
<xs:group name="argumentsGroup">
86
<xs:element name="array" type="arrayType" minOccurs="0" maxOccurs="unbounded"/>
87
<xs:element name="integer" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
88
<xs:element name="string" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
89
<xs:element name="double" type="xs:double" minOccurs="0" maxOccurs="unbounded"/>
90
<xs:element name="null" minOccurs="0" maxOccurs="unbounded"/>
91
<xs:element name="object" type="objectType" minOccurs="0" maxOccurs="unbounded"/>
92
<xs:element name="file" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
93
<xs:element name="directory" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
96
<xs:group name="argumentChoice">
98
<xs:element name="array" type="arrayType" minOccurs="0" maxOccurs="unbounded"/>
99
<xs:element name="integer" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
100
<xs:element name="string" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
101
<xs:element name="double" type="xs:double" minOccurs="0" maxOccurs="unbounded"/>
102
<xs:element name="null" minOccurs="0" maxOccurs="unbounded"/>
103
<xs:element name="object" type="objectType" minOccurs="0" maxOccurs="unbounded"/>
104
<xs:element name="file" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
105
<xs:element name="directory" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
108
<xs:complexType name="loggersType">
110
<xs:element name="log" type="loggerType" maxOccurs="unbounded"/>
113
<xs:complexType name="loggerType">
114
<xs:attribute name="type">
116
<xs:restriction base="xs:string">
117
<xs:enumeration value="coverage-html"/>
118
<xs:enumeration value="coverage-text"/>
119
<xs:enumeration value="coverage-clover"/>
120
<xs:enumeration value="coverage-crap4j"/>
121
<xs:enumeration value="json"/>
122
<xs:enumeration value="plain"/>
123
<xs:enumeration value="tap"/>
124
<xs:enumeration value="junit"/>
125
<xs:enumeration value="testdox-html"/>
126
<xs:enumeration value="testdox-text"/>
130
<xs:attribute name="target" type="xs:anyURI"/>
131
<xs:attribute name="lowUpperBound" type="xs:nonNegativeInteger" default="35"/>
132
<xs:attribute name="highLowerBound" type="xs:nonNegativeInteger" default="70"/>
133
<xs:attribute name="logIncompleteSkipped" type="xs:boolean" default="false"/>
134
<xs:attribute name="showUncoveredFiles" type="xs:boolean" default="false"/>
136
<xs:group name="pathGroup">
138
<xs:element name="directory" type="directoryFilterType" minOccurs="0" maxOccurs="unbounded"/>
139
<xs:element name="file" type="fileFilterType" minOccurs="0" maxOccurs="unbounded"/>
142
<xs:complexType name="directoryFilterType">
144
<xs:extension base="xs:anyURI">
145
<xs:attribute type="xs:string" name="suffix" default="Test.php"/>
146
<xs:attributeGroup ref="phpVersionGroup"/>
150
<xs:complexType name="fileFilterType">
152
<xs:extension base="xs:anyURI">
153
<xs:attributeGroup ref="phpVersionGroup"/>
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=">="/>
161
<xs:complexType name="phpType">
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"/>
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"/>
180
<xs:complexType name="phpUnitType">
182
<xs:documentation>The main type specifying the document structure</xs:documentation>
184
<xs:group ref="configGroup"/>
185
<xs:attributeGroup ref="configAttributeGroup"/>
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="stopOnRisky" type="xs:boolean" default="false"/>
205
<xs:attribute name="stopOnSkipped" type="xs:boolean" default="false"/>
206
<xs:attribute name="beStrictAboutTestsThatDoNotTestAnything" type="xs:boolean" default="false"/>
207
<xs:attribute name="beStrictAboutOutputDuringTests" type="xs:boolean" default="false"/>
208
<xs:attribute name="beStrictAboutTestSize" type="xs:boolean" default="false"/>
209
<xs:attribute name="beStrictAboutTodoAnnotatedTests" type="xs:boolean" default="false"/>
210
<xs:attribute name="checkForUnintentionallyCoveredCode" type="xs:boolean" default="false"/>
211
<xs:attribute name="strict" type="xs:boolean" default="false"/>
212
<xs:attribute name="testSuiteLoaderClass" type="xs:string" default="PHPUnit_Runner_StandardTestSuiteLoader"/>
213
<xs:attribute name="testSuiteLoaderFile" type="xs:anyURI"/>
214
<xs:attribute name="timeoutForSmallTests" type="xs:integer" default="1"/>
215
<xs:attribute name="timeoutForMediumTests" type="xs:integer" default="10"/>
216
<xs:attribute name="timeoutForLargeTests" type="xs:integer" default="60"/>
217
<xs:attribute name="verbose" type="xs:boolean" default="false"/>
218
<xs:attribute name="stderr" type="xs:boolean" default="false"/>
220
<xs:group name="configGroup">
222
<xs:element ref="testSuiteFacet" minOccurs="0"/>
223
<xs:element name="groups" type="groupsType" minOccurs="0"/>
224
<xs:element name="filter" type="filtersType" minOccurs="0"/>
225
<xs:element name="logging" type="loggersType" minOccurs="0"/>
226
<xs:element name="listeners" type="listenersType" minOccurs="0"/>
227
<xs:element name="php" type="phpType" minOccurs="0"/>
228
<xs:element name="selenium" type="seleniumType" minOccurs="0"/>
231
<xs:complexType name="seleniumType">
233
<xs:element name="browser" type="browserType"/>
236
<xs:complexType name="browserType">
237
<xs:attribute name="name" type="xs:string"/>
238
<xs:attribute name="browser" type="xs:string"/>
239
<xs:attribute name="host" type="xs:anyURI"/>
240
<xs:attribute name="port" type="xs:nonNegativeInteger"/>
241
<xs:attribute name="timeout" type="xs:nonNegativeInteger"/>
243
<xs:element name="testSuiteFacet" abstract="true"/>
244
<xs:element name="testsuite" type="testSuiteType" substitutionGroup="testSuiteFacet"/>
245
<xs:element name="testsuites" type="testSuitesType" substitutionGroup="testSuiteFacet"/>
246
<xs:complexType name="testSuitesType">
248
<xs:element name="testsuite" type="testSuiteType" maxOccurs="unbounded"/>
251
<xs:complexType name="testSuiteType">
253
<xs:group ref="pathGroup"/>
254
<xs:element name="exclude" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
256
<xs:attribute name="name" type="xs:string" use="required"/>