This file is indexed.

/usr/share/openscap/schemas/xccdf/1.1.4/platform-0.2.3.xsd is in libopenscap1 0.8.0-4build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
<?xml version="1.0" encoding="UTF-8"?>
<!--
    Document            : platform-0.2.3.xsd
    Created on          : 31 August 2004
    Last Updated on     : 11 November 2004
    Authors             : David Waltermire, Neal Ziring
    Description:
        XML Schema for defining supported platforms for an
        instance of the eXtensible Common Checklist
        Data Format.  This version corresponds to XCCDF 1.0.
	It was written by David Waltermire, with some edits
	by Neal Ziring.  David Proulx provided additional
	input and ideas.

    ChangeLog:

    Changes in 0.2.3
    - went back to explicit references to xml:lang and xml:base,
      but changed to import to a relative URI

    Changes in version 0.2.2
    - Removed greater/less than operators since 
      this can be represented by a range
    - Changed productIdKeyRef selector to 
      match nested products
    - Fixed up some formatting
    - Changed namespace name for http://www.w3.org/XML/1998/namespace 
      to the required xml

    Changes in version 0.2.1
    - Modified uses of xml:base and xml:lang to use xsd:anyAttribute, because
      otherwise validation cannot be performed without a live Internet
      connection.  Also, we cannot guarantee that xml:base and xml:lang
      are the only attributes that may appear; attributes in the xml:
      namespace should be allowed anytime anywhere.
    - Fixed handling of KeyRefs to work in Schema 1.0.  (keyref elements
      cannot refer to key elements under other element definitions)
    - Finished the definition of the version element.
    - Added a simpleType for the version operator attribute.
    - Fixed up a bunch of formatting.

    Changes in version 0.2.0
    - Modified top-level element platform-definitions to include 
      platform-definition elements used to define platform combinations
    - Added a uniqueness constraint "idUnique" to insure that all 
      platform related ids are unique
    - Changed top-level element platform to refer to an id defined 
      in a platform-definition instead of a productType element
    - Made product element global
    - Changed textType to have an explicit xml:lang attribute instead 
      of allowing all attributes in the http://www.w3.org/XML/1998/namespace 
      namespace which is overkill
    - Changed productType's name attribute to title to keep consistent
      with other elements that use titles
    - Moved productType's remark element up below title to make xml
      instances more readable

-->
<xsd:schema 
 targetNamespace="http://www.cisecurity.org/xccdf/platform/0.2.3" 
 elementFormDefault="qualified" attributeFormDefault="unqualified" 
 xmlns:cdfp="http://www.cisecurity.org/xccdf/platform/0.2.3" 
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns:xml="http://www.w3.org/XML/1998/namespace">

    <!-- **************************************************************************** -->
    <!-- *   External Schemae                                                       * -->
    <!-- **************************************************************************** -->
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" 
                schemaLocation="xml.xsd">
        <xsd:annotation>
            <xsd:documentation>
                Get access to the xml: attribute groups for xml:lang.
            </xsd:documentation>
        </xsd:annotation>
    </xsd:import>

    <!-- **************************************************************************** -->
    <!-- *   Definition Elements                                                    * -->
    <!-- **************************************************************************** -->
    <xsd:element name="platform-definitions">
        <xsd:annotation>
            <xsd:documentation xml:lang="en">
               This element contains the individual application, service, 
               os and hardware definitions which will be used in an a-la-cart 
               fashion to define specific platform support rulesets.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="cdfp:application" minOccurs="0" maxOccurs="unbounded"/>
                <xsd:element ref="cdfp:service" minOccurs="0" maxOccurs="unbounded"/>
                <xsd:element ref="cdfp:os" minOccurs="0" maxOccurs="unbounded"/>
                <xsd:element ref="cdfp:hardware" minOccurs="0" maxOccurs="unbounded"/>
                <xsd:element name="platform-definition" maxOccurs="unbounded">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element name="title" type="cdfp:textType"/>
                            <xsd:element name="remark" type="cdfp:textType" 
                                         minOccurs="0" maxOccurs="unbounded"/>
                            <xsd:choice>
                                <xsd:element ref="cdfp:product"/>
                                <xsd:element ref="cdfp:logical-operator"/>
                            </xsd:choice>
                        </xsd:sequence>
                        <xsd:attribute name="id" type="xsd:NCName" use="required"/>
                    </xsd:complexType>
                </xsd:element>
            </xsd:sequence>
	    <xsd:attribute ref="xml:base"/>
        </xsd:complexType>
        <xsd:unique name="idUnique">
            <xsd:annotation>
                <xsd:documentation xml:lang="en">
                This unique constraint keeps all ids used in this schema
                unique.  This will help eliminate any confusion between
                using product and platform ids.
                </xsd:documentation>
            </xsd:annotation>
            <xsd:selector xpath=".//cdfp:application|.//cdfp:service|.//cdfp:os|.//cdfp:hardware|.//cdfp:platform-definition"/>
            <xsd:field xpath="@id"/>
        </xsd:unique>
        <xsd:key name="productIdKey">
            <xsd:annotation>
                <xsd:documentation xml:lang="en">
                The productIdKey is used to insure that all product ids
                are unique.  A references to the product ids are used
                to build platform-definitions in an ala-cart fashion.
                </xsd:documentation>
            </xsd:annotation>
            <xsd:selector xpath=".//cdfp:application|.//cdfp:service|.//cdfp:os|.//cdfp:hardware"/>
            <xsd:field xpath="@id"/>
        </xsd:key>
        <xsd:key name="platformIdKey">
            <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The platformIdKey is used externally to reference 
                  a specific platform-definition identified by a platform id.
                </xsd:documentation>
            </xsd:annotation>
            <xsd:selector xpath=".//cdfp:platform-definition"/>
            <xsd:field xpath="@id"/>
        </xsd:key>
        <xsd:keyref name="productIdKeyRef" refer="cdfp:productIdKey">
            <xsd:selector xpath=".//cdfp:product"/>
            <xsd:field xpath="@idref"/>
        </xsd:keyref>
    </xsd:element>
    <xsd:element name="platform">
        <xsd:annotation>
            <xsd:documentation xml:lang="en">
           A listing of all supported platforms
        </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="remark" type="cdfp:textType" 
                       minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
            <xsd:attribute name="idref" type="xsd:NCName" use="required"/>
        </xsd:complexType>
    </xsd:element>
    <!-- **************************************************************************** -->
    <!-- *   Product Elements                                                       * -->
    <!-- **************************************************************************** -->
    <xsd:element name="application">
        <xsd:annotation>
            <xsd:documentation xml:lang="en">
            An application or user-level program component product, part
            of a platform.  Examples: Microsoft Word, Mozilla
         </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:complexContent>
                <xsd:extension base="cdfp:productType">
                    <xsd:attribute name="id" use="required">
                        <xsd:simpleType>
                            <xsd:restriction base="xsd:NCName">
                                <xsd:pattern value="app-[a-zA-Z0-9\-]+"/>
                            </xsd:restriction>
                        </xsd:simpleType>
                    </xsd:attribute>
                </xsd:extension>
            </xsd:complexContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="service">
        <xsd:annotation>
            <xsd:documentation xml:lang="en">
            A system or network service that is a component of a
            benchmark platform.  Examples: Apache HTTPD, 
            Microsoft Exchange, IBM MQSeries Message Server
         </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:complexContent>
                <xsd:extension base="cdfp:productType">
                    <xsd:attribute name="id" use="required">
                        <xsd:simpleType>
                            <xsd:restriction base="xsd:NCName">
                                <xsd:pattern value="srv-[a-zA-Z0-9\-]+"/>
                            </xsd:restriction>
                        </xsd:simpleType>
                    </xsd:attribute>
                </xsd:extension>
            </xsd:complexContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="os">
        <xsd:annotation>
            <xsd:documentation xml:lang="en">
            The operating system for a benchmark platform.  
            Examples: Microsoft Windows XP, Sun Solaris, Cisco IOS.
         </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:complexContent>
                <xsd:extension base="cdfp:productType">
                    <xsd:attribute name="id" use="required">
                        <xsd:simpleType>
                            <xsd:restriction base="xsd:NCName">
                                <xsd:pattern value="os-[a-zA-Z0-9\-]+"/>
                            </xsd:restriction>
                        </xsd:simpleType>
                    </xsd:attribute>
                </xsd:extension>
            </xsd:complexContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="hardware">
        <xsd:annotation>
            <xsd:documentation xml:lang="en">
            A hardware chassis or designation that is part
            of the specification of a benchmark platform.  
            Examples: Cisco C3725, Juniper M7.
         </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:complexContent>
                <xsd:extension base="cdfp:productType">
                    <xsd:attribute name="id" use="required">
                        <xsd:simpleType>
                            <xsd:restriction base="xsd:NCName">
                                <xsd:pattern value="hwr-[a-zA-Z0-9\-]+"/>
                            </xsd:restriction>
                        </xsd:simpleType>
                    </xsd:attribute>
                </xsd:extension>
            </xsd:complexContent>
        </xsd:complexType>
    </xsd:element>
    <!-- **************************************************************************** -->
    <!-- *   Global Elements                                                        * -->
    <!-- **************************************************************************** -->
    <xsd:element name="product">
        <xsd:complexType>
            <xsd:attribute name="idref" type="xsd:NCName" use="required"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="logical-operator">
        <xsd:complexType>
            <xsd:choice maxOccurs="unbounded">
                <xsd:element ref="cdfp:product"/>
                <xsd:element ref="cdfp:logical-operator"/>
            </xsd:choice>
            <xsd:attribute name="operator" use="required">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:string">
                        <xsd:enumeration value="and"/>
                        <xsd:enumeration value="or"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:attribute>
        </xsd:complexType>
    </xsd:element>
    <!-- **************************************************************************** -->
    <!-- *   Global Types                                                           * -->
    <!-- **************************************************************************** -->
    <xsd:complexType name="textType">
        <xsd:annotation>
            <xsd:documentation xml:lang="en">
            Type for a string with an xml:lang attribute.
            (Note: changed this to allow any xml: attribute
             because xml:lang is a bit narrow, and also would
             require the validation processor to download the
             XML namespace schema every time.  We cannot count
             on XCCDF or other benchmark users have a live
             Internet connection at all times.)
         </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
            <xsd:extension base="xsd:string">
               <xsd:attribute ref="xml:lang"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <xsd:complexType name="productType">
        <xsd:annotation>
            <xsd:documentation xml:lang="en">
             An individual product or component that makes up the overall
             platform.  For more information see the subtypes below.
             A product consists of: a name, a version designator, 
             zero or more named properties, and zero or more remarks.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="title" type="cdfp:textType"/>
            <xsd:element name="remark" type="cdfp:textType" 
                            minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="vendor" type="xsd:string">
                <xsd:annotation>
                    <xsd:documentation>
                        The organization 
                        responsible for development and maintenance of the product
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="family" type="xsd:string">
                <xsd:annotation>
                    <xsd:documentation>
                        The product family the software or device belongs to.  
                        This will be used along with the optional model and 
                        level elements to determine version-range comparisons.
                        Example: "Windows", "routers", "portal server".
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="model" type="xsd:string" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>
                        The product's model which will differentiate major versions 
                        of software.  This may be useful when defining that all 
                        versions of software of a specific model are acceptable.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="level" type="xsd:string" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>
                       The product's level which will differentiate functional 
                       capabilities across the same software version.
                       Example: "enterprise", "home"
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:choice minOccurs="0">
                <xsd:element name="version">
                    <xsd:annotation>
                        <xsd:documentation xml:lang="en">
                   The version designation for a platform component.
                   This is the type for the version element: the element
                   content is a version name or number, and the operator
                   attribute specifies how that version applies.  For
                   example, to say 'IOS 12.1 or later', the content would
                   be "12.1" and the operator attribute would be 
                   "greater than or equal to".
                         </xsd:documentation>
                    </xsd:annotation>
                    <xsd:complexType>
                        <xsd:simpleContent>
                            <xsd:extension base="xsd:string">
                                <xsd:attribute name="operator" 
                                     type="cdfp:versionOperatorType" use="optional" 
	                             default="equals"/>
                            </xsd:extension>
                        </xsd:simpleContent>
                    </xsd:complexType>
                </xsd:element>
                <xsd:element name="version-range">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:choice>
                                <xsd:element name="min-inclusive" type="xsd:string"/>
                                <xsd:element name="min-exclusive" type="xsd:string"/>
                            </xsd:choice>
                            <xsd:choice>
                                <xsd:element name="max-inclusive" type="xsd:string"/>
                                <xsd:element name="max-exclusive" type="xsd:string"/>
                            </xsd:choice>
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
            </xsd:choice>
        </xsd:sequence>
    </xsd:complexType>
    <!-- **************************************************************************** -->
    <!-- *   Version Operators List                                                 * -->
    <!-- **************************************************************************** -->
    <xsd:simpleType name="versionOperatorType">
        <xsd:annotation>
            <xsd:documentation xml:lang="en">
            Allowed operators for version elements.  These are valid
            only for quasi-numeric version numbers, but the schema doesn't enforce it.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="equals"/>
            <xsd:enumeration value="not equal"/>
        </xsd:restriction>
    </xsd:simpleType>
</xsd:schema>