~ubuntu-branches/ubuntu/precise/openjdk-7/precise-security

« back to all changes in this revision

Viewing changes to test/jtreg/com/sun/javatest/cof/COF1_0.xsd

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2012-04-11 07:21:41 UTC
  • mfrom: (1.3.8) (8.1.20 sid)
  • Revision ID: package-import@ubuntu.com-20120411072141-v8i0x0ejg8sf7i5p
Tags: 7~u3-2.1.1~pre1-1ubuntu1
Regenerate the control file.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="UTF-8" ?>
 
2
 
 
3
<xsd:schema
 
4
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 
5
  version="1.0.0">
 
6
 
 
7
  <xsd:annotation>
 
8
        <xsd:documentation>
 
9
        Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
 
10
        DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
 
11
 
 
12
        This program is free software; you can redistribute it and/or
 
13
        modify it under the terms of the GNU General Public License version
 
14
        2 only, as published by the Free Software Foundation.
 
15
 
 
16
        This program is distributed in the hope that it will be useful, but
 
17
        WITHOUT ANY WARRANTY; without even the implied warranty of
 
18
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 
19
        General Public License version 2 for more details (a copy is
 
20
        included at /legal/license.txt).
 
21
 
 
22
        You should have received a copy of the GNU General Public License
 
23
        version 2 along with this work; if not, write to the Free Software
 
24
        Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 
25
        02110-1301 USA
 
26
 
 
27
        Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
 
28
        Clara, CA 95054 or visit www.sun.com if you need additional
 
29
        information or have any questions.
 
30
        </xsd:documentation>
 
31
  </xsd:annotation>
 
32
 
 
33
  <xsd:simpleType name="IDWithColon">
 
34
    <xsd:annotation>
 
35
      <xsd:documentation>
 
36
        IDs are colon free strings followed by a colon followed by digits.
 
37
        The digits are there to disambiguate entries that are repeated.
 
38
        Repeats can occur for test results, for instance, when a test is
 
39
        run more than once.
 
40
      </xsd:documentation>
 
41
    </xsd:annotation>
 
42
    <xsd:restriction base="xsd:string">
 
43
      <xsd:pattern value="[\w\.\[\]\(\)\{\},_-]+:[0-9]+"/>
 
44
    </xsd:restriction>
 
45
  </xsd:simpleType>
 
46
 
 
47
  <xsd:simpleType name="Machine">
 
48
    <xsd:annotation>
 
49
      <xsd:documentation>
 
50
        Machines are identified by name and date.  The name must be qualified.
 
51
        Only lower case is accepted in the COF.
 
52
        Host name space specifiers are defined in http://www.ietf.org/rfc/rfc2141.txt .  This
 
53
        schema checks for the existence of two or more domains in the name space specifier.
 
54
      </xsd:documentation>
 
55
    </xsd:annotation>
 
56
    <xsd:restriction base="xsd:string">
 
57
      <xsd:pattern value="([a-z0-9][a-z0-9\-]*[a-z0-9]\.){2,}([a-z][a-z0-9\-]*[a-z0-9])"/>
 
58
    </xsd:restriction>
 
59
  </xsd:simpleType>
 
60
 
 
61
  <xsd:simpleType name="KeyWord">
 
62
    <xsd:annotation>
 
63
      <xsd:documentation>
 
64
        Keywords are very rough descriptions of test content.
 
65
      </xsd:documentation>
 
66
    </xsd:annotation>
 
67
    <xsd:restriction base="xsd:string">
 
68
      <xsd:enumeration value="DTF"/>
 
69
      <xsd:enumeration value="JPI"/>
 
70
      <xsd:enumeration value="JAWS"/>
 
71
      <xsd:enumeration value="JSS"/>
 
72
      <xsd:enumeration value="demo"/>
 
73
      <xsd:enumeration value="manual"/>
 
74
    </xsd:restriction>
 
75
  </xsd:simpleType>
 
76
 
 
77
  <xsd:complexType name="KeyWords" abstract="false">
 
78
    <xsd:sequence>
 
79
      <xsd:element name="keyword" type="KeyWord" minOccurs="1" maxOccurs="unbounded"/>
 
80
    </xsd:sequence>
 
81
  </xsd:complexType>
 
82
 
 
83
  <xsd:simpleType name="Bits">
 
84
    <xsd:restriction base="xsd:int">
 
85
      <xsd:enumeration value="32"/>
 
86
      <xsd:enumeration value="64"/>
 
87
    </xsd:restriction>
 
88
  </xsd:simpleType>
 
89
 
 
90
  <xsd:simpleType name="DisplayDepth">
 
91
    <xsd:annotation>
 
92
      <xsd:documentation>
 
93
        Display depth is recorded as part of a software configuration.
 
94
      </xsd:documentation>
 
95
    </xsd:annotation>
 
96
    <xsd:restriction base="xsd:int">
 
97
      <xsd:enumeration value="8"/>
 
98
      <xsd:enumeration value="12"/>
 
99
      <xsd:enumeration value="15"/>
 
100
      <xsd:enumeration value="16"/>
 
101
      <xsd:enumeration value="24"/>
 
102
      <xsd:enumeration value="32"/>
 
103
    </xsd:restriction>
 
104
  </xsd:simpleType>
 
105
 
 
106
  <xsd:complexType name="OS">
 
107
    <xsd:annotation>
 
108
      <xsd:documentation>
 
109
        Operating system.
 
110
      </xsd:documentation>
 
111
      <xsd:documentation>
 
112
        Name should be one of windows, redhat_linux, turbo_linux,
 
113
        suse_linux, caldera_linux, mandrake_linux, solaris, palmos,
 
114
        psos, symbianos, or vxworks.
 
115
        These names are derived from BugTraq names.
 
116
      </xsd:documentation>
 
117
      <xsd:documentation>
 
118
        Versions are derived from BugTraq names.  Allowable version
 
119
        strings for Windows are 2000, 95, 98, ce, me, nt_4.0,
 
120
        pocketpc2000, pocketpc2002, and xp.
 
121
        Allowable version strings for Solaris are 2.6, 2.7, 8, and 9.
 
122
        Linux versioning is sane in comparison with that of Solaris
 
123
        and Windows.  Redhat versions are 5.1, 5.2, 6.0, 6.1, 6.2,
 
124
        7.0, 7.1, and 7.2.
 
125
      </xsd:documentation>
 
126
    </xsd:annotation>
 
127
    <xsd:sequence>
 
128
      <xsd:element name="name">
 
129
        <xsd:simpleType>
 
130
          <xsd:restriction base="xsd:string">
 
131
            <xsd:enumeration value="caldera_linux"/>
 
132
            <xsd:enumeration value="mandrake_linux"/>
 
133
            <xsd:enumeration value="palmos"/>
 
134
            <xsd:enumeration value="psos"/>
 
135
            <xsd:enumeration value="redhat_linux"/>
 
136
            <xsd:enumeration value="solaris"/>
 
137
            <xsd:enumeration value="suse_linux"/>
 
138
            <xsd:enumeration value="symbianos"/>
 
139
            <xsd:enumeration value="turbo_linux"/>
 
140
            <xsd:enumeration value="windows"/>
 
141
            <xsd:enumeration value="vxworks"/>
 
142
          </xsd:restriction>
 
143
        </xsd:simpleType>
 
144
      </xsd:element>
 
145
      <xsd:element name="version" type="xsd:string"/>
 
146
    </xsd:sequence>
 
147
  </xsd:complexType>
 
148
 
 
149
  <xsd:complexType name="TestAttribute">
 
150
    <xsd:annotation>
 
151
      <xsd:documentation>
 
152
        Test attributes encode test-specific settings that we might want recorded.
 
153
        The motivation for inclusion in the COF is the desire to record locale as
 
154
        set by a test, time zone as set by a test, and the use of the Java command
 
155
        line switches like -client, -server, -d32, or -d64.  It is expected that
 
156
        the absence of any use of -client or -server will be reflected by an absence
 
157
        of a TestAttribute element whose name is "client" or "server", respectively.
 
158
        Tests that use both flags should create an element for each setting.
 
159
        Similar considerations govern use of "d32" and "d64".
 
160
      </xsd:documentation>
 
161
      <xsd:documentation>
 
162
        Locale values should be in the usual Java format of strings separated by
 
163
        underscores.  For instance, ja, ja_JP, and ja_JP_custom are all valid.
 
164
        Locale values should be in the usual Java format of strings separated
 
165
        by underscores.  For instance, ja, ja_JP, and ja_JP_custom are all valid.
 
166
        The first string is a valid ISO Language Code and the second is a valid
 
167
        ISO Country Code.  The list of language and country codes are at
 
168
        http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt and
 
169
        http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html ,
 
170
        respectively.  The third string in the concatenation is for variants
 
171
        and can contain underscores.
 
172
      </xsd:documentation>
 
173
      <xsd:documentation>
 
174
        Time zone values document the time zone used for a particular test or
 
175
        test case.  Time zones should be in the format used by Java.  For instance, the
 
176
        string for Pacific Standard Time is "America/Los Angeles".  The list of
 
177
        supported time zones is obtained by invoking java.util.TimeZone.getAvailableIDs.
 
178
        Do not use a deprecated three-letter time zone ID.
 
179
      </xsd:documentation>
 
180
      <xsd:documentation>
 
181
        In general, a Java command line flag argument that it is agreed will get tracked as
 
182
        an attribute, say -foo,will get tracked by a test attribute <name>foo</name>
 
183
        without a corresponding value element.  A Java command line argument pair
 
184
        "-foo bar" will get tracked by a test attribute <name>foo</name><value>bar</value>.
 
185
      </xsd:documentation>
 
186
    </xsd:annotation>
 
187
    <xsd:sequence>
 
188
      <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
 
189
      <xsd:element name="value" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
 
190
    </xsd:sequence>
 
191
  </xsd:complexType>
 
192
 
 
193
  <xsd:complexType name="TestAttributes">
 
194
    <xsd:sequence>
 
195
      <xsd:element name="attribute" type="TestAttribute" minOccurs="1" maxOccurs="unbounded"/>
 
196
    </xsd:sequence>
 
197
  </xsd:complexType>
 
198
 
 
199
  <xsd:complexType name="Status">
 
200
    <xsd:annotation>
 
201
      <xsd:documentation>
 
202
        Status can be one of pass, fail, vm_fail, error, did_not_run, or ambiguous.
 
203
        Fail is for test failures that the test or test case anticipates.  A vm_fail
 
204
        status indicates that a VM failure caused the failure.  An example of this is
 
205
        a HotSpot abort.  An error status can be used to cover all failures not
 
206
        explained as a test or vm failure.  Examples are seg faults in the VM or
 
207
        a harness failure.
 
208
      </xsd:documentation>
 
209
      <xsd:documentation>
 
210
        Status did_not_run is an odd one.  It's there because test execution may
 
211
        conditional on the successful completion of a setup step, itself a test.
 
212
      </xsd:documentation>
 
213
      <xsd:documentation>
 
214
        The setting ambiguous is the least self-explanatory of the status codes.
 
215
        I18n tests are run in locales that they do not support.  These tests fail,
 
216
        but there failure has no meaning that should get reported back to product
 
217
        development.
 
218
      </xsd:documentation>
 
219
      <xsd:documentation>
 
220
        Expected elements contain text that refers to an expected value.  This
 
221
        can be anything.  A header, value, body, .....  If the tag log appears,
 
222
        it may be understood that a URL of a log file will appear as the PCDATA
 
223
        for this tag.  If present, that URL uses either http or file protocol.  If
 
224
        http protocol, the server name will be fully qualified.  If file protocol,
 
225
        the full path beginning with /net will be expected.  Microsoft file mapping or
 
226
        Unix automounts should not be used.
 
227
      </xsd:documentation>
 
228
      <xsd:documentation>
 
229
        Actual elements contain text that refers to an actual value.  This
 
230
        can be anything.  A header, value, body, .....  If the tag log appears,
 
231
        it may be understood that a URL of a log file will appear as the PCDATA
 
232
        for this tag.  If present, that URL uses either http or file protocol.  If
 
233
        http protocol, the server name will be fully qualified.  If file protocol,
 
234
        the full path beginning with /net will be expected.  Microsoft file mapping or
 
235
        Unix automounts should not be used.
 
236
      </xsd:documentation>
 
237
    </xsd:annotation>
 
238
    <xsd:sequence minOccurs="0" maxOccurs="1">
 
239
        <xsd:element name="expected" type="xsd:string" minOccurs="0" maxOccurs="1"/>
 
240
        <xsd:element name="actual" type="xsd:string" minOccurs="0" maxOccurs="1"/>
 
241
    </xsd:sequence>
 
242
    <xsd:attribute name="value" use="required">
 
243
      <xsd:simpleType>
 
244
        <xsd:restriction base="xsd:string">
 
245
          <xsd:enumeration value="pass"/>
 
246
          <xsd:enumeration value="fail"/>
 
247
          <xsd:enumeration value="ambiguous"/>
 
248
          <xsd:enumeration value="error"/>
 
249
          <xsd:enumeration value="vm_fail"/>
 
250
          <xsd:enumeration value="did_not_run"/>
 
251
        </xsd:restriction>
 
252
      </xsd:simpleType>
 
253
    </xsd:attribute>
 
254
  </xsd:complexType>
 
255
 
 
256
  <xsd:complexType name="TestCase" abstract="false">
 
257
    <xsd:annotation>
 
258
      <xsd:documentation>
 
259
         Testcase elements define the test cases of a test that are
 
260
         exercised in the course of a run.  The id
 
261
         for a test takes the form test_case_name:unique_id. The information
 
262
         will be gathered using the test_coverage.xml file associated with the test case,
 
263
         if present.  The unique_id is unique within the xml file.  The unique_id portion
 
264
         is present because test run might contain repetitions.
 
265
         Testcases are often tests run with different command line arguments or
 
266
         environments.  Often, the different test cases in a test are in reality
 
267
         different methods inside that test's source code.
 
268
      </xsd:documentation>
 
269
      <xsd:documentation>
 
270
         The starttime and endtime fields use an XML format.  Times are in UTC (like
 
271
         those that java.util.Date works with).  An acceptable dateTime
 
272
         format is yyyy-mm-ddThh:mm:ss.ff.  DateTime format is specified in
 
273
         section 5.4 of ISO 8601.
 
274
      </xsd:documentation>
 
275
    </xsd:annotation>
 
276
    <xsd:sequence>
 
277
      <xsd:element name="name" type="xsd:string"/>
 
278
      <xsd:element name="status" type="Status" minOccurs="0" maxOccurs="1"/>
 
279
      <xsd:element name="starttime" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
 
280
      <xsd:element name="endtime" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
 
281
      <xsd:element name="attributes" type="TestAttributes" minOccurs="0" maxOccurs="1"/>
 
282
      <xsd:element name="description" type="xsd:string" minOccurs="0" maxOccurs="1"/>
 
283
    </xsd:sequence>
 
284
    <xsd:attribute name="id" type="IDWithColon" use="required"/>
 
285
  </xsd:complexType>
 
286
 
 
287
  <xsd:complexType name="TestCases" abstract="false">
 
288
    <xsd:sequence>
 
289
      <xsd:element name="testcase" type="TestCase" minOccurs="1" maxOccurs="unbounded"/>
 
290
    </xsd:sequence>
 
291
  </xsd:complexType>
 
292
 
 
293
  <xsd:complexType name="Test" abstract="false">
 
294
    <xsd:annotation>
 
295
      <xsd:documentation>
 
296
         Test elements define all the tests exercised by the test suite.  The id
 
297
         for a test takes the form test_name:unique_id. The information
 
298
         will be gathered using the test_coverage.xml file associated with the test,
 
299
         if present.  The unique_id is unique within the xml file.  The unique_id portion
 
300
         is present because test run might contain repetitions.
 
301
      </xsd:documentation>
 
302
      <xsd:documentation>
 
303
         Status is required if there are zero test cases.
 
304
         Starttime is required if there are zero test cases.
 
305
         Endtime is required if there are zero test cases.
 
306
         The starttime and endtime fields use an XML format.  Times are in UTC (like
 
307
         those that java.util.Date works with).  An acceptable dateTime
 
308
         format is yyyy-mm-ddThh:mm:ss.ff.  DateTime format is specified in
 
309
         section 5.4 of ISO 8601.
 
310
      </xsd:documentation>
 
311
    </xsd:annotation>
 
312
    <xsd:sequence>
 
313
      <xsd:element name="name" type="xsd:string"/>
 
314
      <xsd:element name="appuse" type="IDWithColon" minOccurs="0" maxOccurs="unbounded"/>
 
315
      <xsd:element name="status" type="Status" minOccurs="0" maxOccurs="1"/>
 
316
      <xsd:element name="testcases" type="TestCases" minOccurs="0" maxOccurs="1"/>
 
317
      <xsd:element name="starttime" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
 
318
      <xsd:element name="endtime" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
 
319
      <xsd:element name="keywords" type="KeyWords" minOccurs="0" maxOccurs="1"/>
 
320
      <xsd:element name="attributes" type="TestAttributes" minOccurs="0" maxOccurs="1"/>
 
321
      <xsd:element name="description" type="xsd:string" minOccurs="0" maxOccurs="1"/>
 
322
    </xsd:sequence>
 
323
    <xsd:attribute name="id" type="IDWithColon" use="required"/>
 
324
  </xsd:complexType>
 
325
 
 
326
  <xsd:complexType name="Tests" abstract="false">
 
327
    <xsd:sequence>
 
328
      <xsd:element name="test" type="Test" minOccurs="1" maxOccurs="unbounded"/>
 
329
    </xsd:sequence>
 
330
  </xsd:complexType>
 
331
 
 
332
  <xsd:complexType name="TestSuite" abstract="false">
 
333
    <xsd:annotation>
 
334
      <xsd:documentation>
 
335
         Test suite elements contain the test suite name.  The name must be the same
 
336
         as one defined in the test_coverage.xml file, if that file is defined.
 
337
         The id element for a suite takes the form test_suite:unique_id.  The information
 
338
         will be gathered using the test_coverage.xml file associated with the test
 
339
         suite, if present.  The unique_id is unique within the xml file.  The
 
340
         unique_id portion is present because test run might contain repetitions.
 
341
      </xsd:documentation>
 
342
      <xsd:documentation>
 
343
         The version field uses an XML format.  Times are in UTC (like
 
344
         those that java.util.Date works with).  An acceptable dateTime
 
345
         format is yyyy-mm-ddThh:mm:ss.ff.  DateTime format is specified in
 
346
         section 5.4 of ISO 8601.
 
347
      </xsd:documentation>
 
348
      <xsd:documentation>
 
349
         The starttime and endtime fields use an XML format.  Times are in UTC (like
 
350
         those that java.util.Date works with).  An acceptable dateTime
 
351
         format is yyyy-mm-ddThh:mm:ss.ff.  DateTime format is specified in
 
352
         section 5.4 of ISO 8601.
 
353
      </xsd:documentation>
 
354
    </xsd:annotation>
 
355
    <xsd:sequence>
 
356
      <xsd:element name="name" type="xsd:string"/>
 
357
      <xsd:element name="version" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
 
358
      <xsd:element name="starttime" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
 
359
      <xsd:element name="endtime" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
 
360
      <xsd:element name="tests" type="Tests" minOccurs="1" maxOccurs="unbounded"/>
 
361
    </xsd:sequence>
 
362
    <xsd:attribute name="id" type="IDWithColon" use="required"/>
 
363
  </xsd:complexType>
 
364
 
 
365
  <xsd:complexType name="TestSuites" abstract="false">
 
366
    <xsd:sequence>
 
367
      <xsd:element name="testsuite" type="TestSuite" minOccurs="1" maxOccurs="unbounded"/>
 
368
    </xsd:sequence>
 
369
  </xsd:complexType>
 
370
 
 
371
  <xsd:complexType name="Environment">
 
372
    <xsd:annotation>
 
373
      <xsd:documentation>
 
374
        Software configurations are a way to document the software environment used
 
375
        for testing.  
 
376
      </xsd:documentation>
 
377
      <xsd:documentation>
 
378
        Machines are identified by name, not Internet address.  The name must be
 
379
        fully qualified.  Hardware configuration is obtained with a combination of
 
380
        name and date.
 
381
      </xsd:documentation>
 
382
      <xsd:documentation>
 
383
        Locale documents the default locale for the test run.  Locale values should be
 
384
        in the usual Java format of strings separated by underscores.  For instance, ja,
 
385
        ja_JP, and ja_JP_custom are all valid.  The first string is a valid ISO
 
386
        Language Code and the second is a valid ISO Country Code.  The list of
 
387
        language and country codes are at
 
388
        http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt and
 
389
        http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html ,
 
390
        respectively.  The third string in the concatenation is for variants
 
391
        and can contain underscores.
 
392
      </xsd:documentation>
 
393
      <xsd:documentation>
 
394
        System-locale is that used by the OS to configure OS applications.  On Windows
 
395
        systems, system-locale is attached to the OS and cannot be changed.
 
396
        User-locale is that used by the Java API.  It is the setting reported out by
 
397
        java.util.Locale.getDefault().
 
398
      </xsd:documentation>
 
399
      <xsd:documentation>
 
400
        Time zone elements document the default time zone for the test run.
 
401
        Time zones should be in the format used by Java.  For instance, the
 
402
        string for Pacific Standard Time is "America/Los Angeles".  The list of
 
403
        supported time zones is obtained by invoking java.util.TimeZone.getAvailableIDs.
 
404
        Do not use a deprecated three-letter time zone ID.
 
405
      </xsd:documentation>
 
406
      <xsd:documentation>
 
407
        JDK elements use the property java.runtime.version.
 
408
      </xsd:documentation>
 
409
    </xsd:annotation>
 
410
    <xsd:sequence>
 
411
      <xsd:element name="machine" type="Machine"/>
 
412
      <xsd:element name="os" type="OS"/>
 
413
      <xsd:element name="jdk" type="xsd:string" minOccurs="0" maxOccurs="1"/>
 
414
      <xsd:element name="system-locale" type="xsd:string" minOccurs="0" maxOccurs="1"/>
 
415
      <xsd:element name="user-locale" type="xsd:string" minOccurs="0" maxOccurs="1"/>
 
416
      <xsd:element name="timezone" type="xsd:string" minOccurs="0" maxOccurs="1"/>
 
417
      <xsd:element name="bits" type="Bits" minOccurs="0" maxOccurs="1"/>
 
418
      <xsd:element name="displaydepth" type="DisplayDepth" minOccurs="0" maxOccurs="1"/>
 
419
      <xsd:element name="description" type="xsd:string" minOccurs="0" maxOccurs="1"/>
 
420
      <xsd:element name="sw" type="SWEntity" minOccurs="0" maxOccurs="unbounded"/>
 
421
    </xsd:sequence>
 
422
    <xsd:attribute name="id" type="IDWithColon" use="required"/>
 
423
  </xsd:complexType>
 
424
 
 
425
  <xsd:complexType name="Environments">
 
426
    <xsd:sequence>
 
427
      <xsd:element name="environment" type="Environment" minOccurs="1" maxOccurs="unbounded"/>
 
428
    </xsd:sequence>
 
429
  </xsd:complexType>
 
430
 
 
431
  <xsd:complexType name="SWEntity">
 
432
    <xsd:annotation>
 
433
      <xsd:documentation>
 
434
        Software is tracked in the hardware/software database that backs up
 
435
        the COF XML.  The elements in the SW type map to fields in the software
 
436
        table of that database.
 
437
        Type is enumerated.  See below.
 
438
        Name is a product name with no version string.  For example, "Tomcat".
 
439
        Version is a product version.  For instance, "8i".
 
440
      </xsd:documentation>
 
441
    </xsd:annotation>
 
442
    <xsd:sequence>
 
443
      <xsd:element name="type">
 
444
        <xsd:simpleType>
 
445
          <xsd:restriction base="xsd:string">
 
446
            <xsd:enumeration value="appserver"/>
 
447
            <xsd:enumeration value="browser"/>
 
448
            <xsd:enumeration value="database"/>
 
449
            <xsd:enumeration value="editor"/>
 
450
                <xsd:enumeration value="java"/>
 
451
            <xsd:enumeration value="webserver"/>
 
452
          </xsd:restriction>
 
453
        </xsd:simpleType>
 
454
      </xsd:element>
 
455
      <xsd:element name="name" type="xsd:string"/>
 
456
      <xsd:element name="version" type="xsd:string" minOccurs="0" maxOccurs="1"/>
 
457
      <xsd:element name="description" type="xsd:string" minOccurs="0" maxOccurs="1"/>
 
458
    </xsd:sequence>
 
459
    <xsd:attribute name="id" type="IDWithColon" use="required"/>
 
460
  </xsd:complexType>
 
461
 
 
462
  <xsd:complexType name="SWEntities" abstract="false">
 
463
    <xsd:sequence>
 
464
      <xsd:element name="swentity" type="SWEntity" minOccurs="1" maxOccurs="unbounded"/>
 
465
    </xsd:sequence>
 
466
  </xsd:complexType>
 
467
 
 
468
  <xsd:complexType name="Application" abstract="false">
 
469
    <xsd:attribute name="id" type="IDWithColon" use="required"/>
 
470
    <xsd:attribute name="environmentid" type="IDWithColon" use="required"/>
 
471
    <xsd:attribute name="swentityid" type="IDWithColon" use="required"/>
 
472
  </xsd:complexType>
 
473
 
 
474
  <xsd:complexType name="Applications" abstract="false">
 
475
    <xsd:sequence>
 
476
      <xsd:element name="application" type="Application" minOccurs="1" maxOccurs="unbounded"/>
 
477
    </xsd:sequence>
 
478
  </xsd:complexType>
 
479
 
 
480
  <xsd:complexType name="Report" abstract="false">
 
481
    <xsd:annotation>
 
482
      <xsd:documentation>
 
483
         The version is the common XML output version.  The first version will be 1.0.
 
484
         The date fields use an XML format.  Times are in UTC (like
 
485
         those that java.util.Date works with).  An acceptable dateTime
 
486
         format is yyyy-mm-ddThh:mm:ss.ff.  DateTime format is specified in
 
487
         section 5.4 of ISO 8601.
 
488
      </xsd:documentation>
 
489
    </xsd:annotation>
 
490
    <xsd:sequence>
 
491
      <xsd:element name="date" type="xsd:dateTime"/>
 
492
      <xsd:element name="version" type="xsd:string"/>
 
493
      <xsd:element name="environments" type="Environments"/>
 
494
      <xsd:element name="swentities" type="SWEntities" minOccurs="0" maxOccurs="1"/>
 
495
      <xsd:element name="applications" type="Applications" minOccurs="0" maxOccurs="unbounded"/>
 
496
      <xsd:element name="operator" type="xsd:string" minOccurs="0" maxOccurs="1"/>
 
497
      <xsd:element name="harness" type="xsd:string" minOccurs="0" maxOccurs="1"/>
 
498
      <xsd:element name="testsuites" type="TestSuites" minOccurs="1" maxOccurs="unbounded"/>
 
499
          <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
 
500
    </xsd:sequence>
 
501
  </xsd:complexType>
 
502
 
 
503
  <xsd:element name="report" type="Report">
 
504
  <xsd:key name="EnvironmentKey">
 
505
    <xsd:selector xpath="report/environments/environment"/>
 
506
    <xsd:field xpath="@id"/>
 
507
  </xsd:key>
 
508
  <xsd:keyref name="RefToEnvironment" refer="EnvironmentKey">
 
509
    <xsd:selector xpath="report/applications/application"/>
 
510
    <xsd:field xpath="@environmentid"/>
 
511
  </xsd:keyref>
 
512
 
 
513
  <xsd:key name="SWEntityKey">
 
514
    <xsd:selector xpath="report/swentities/swentity"/>
 
515
    <xsd:field xpath="@id"/>
 
516
  </xsd:key>
 
517
  <xsd:keyref name="RefToSWEntity" refer="SWEntityKey">
 
518
    <xsd:selector xpath="report/applications/application"/>
 
519
    <xsd:field xpath="@swentityid"/>
 
520
  </xsd:keyref>
 
521
 
 
522
  <xsd:key name="ApplicationKey">
 
523
    <xsd:selector xpath="report/applications/application"/>
 
524
    <xsd:field xpath="@id"/>
 
525
  </xsd:key>
 
526
  <xsd:keyref name="RefToApplication" refer="ApplicationKey">
 
527
    <xsd:selector xpath="report/testsuites/testsuite/tests/test/appuse"/>
 
528
    <xsd:field xpath="@id"/>
 
529
  </xsd:keyref>
 
530
 
 
531
  <xsd:unique name="UniqueTestSuiteID">
 
532
    <xsd:selector xpath="report/testsuites/testsuite"/>
 
533
    <xsd:field xpath="@id"/>
 
534
  </xsd:unique>
 
535
 
 
536
  <xsd:unique name="UniqueTestID">
 
537
    <xsd:selector xpath="report/testsuites/testsuite/tests/test"/>
 
538
    <xsd:field xpath="@id"/>
 
539
  </xsd:unique>
 
540
 
 
541
  <xsd:unique name="UniqueTestCaseID">
 
542
    <xsd:selector xpath="report/testsuites/testsuite/tests/test/testcases/testcase"/>
 
543
    <xsd:field xpath="@id"/>
 
544
  </xsd:unique>
 
545
 
 
546
  </xsd:element>
 
547
 
 
548
</xsd:schema>