forked from OVALProject/Sandbox
-
Notifications
You must be signed in to change notification settings - Fork 0
/
x-solaris-smfproperty.xsd
182 lines (182 loc) · 16.1 KB
/
x-solaris-smfproperty.xsd
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
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:oval="http://oval.mitre.org/XMLSchema/oval-common-5" xmlns:oval-def="http://oval.mitre.org/XMLSchema/oval-definitions-5" xmlns:oval-sc="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5" xmlns:solaris-def="http://oval.mitre.org/XMLSchema/oval-definitions-5#solaris" xmlns:solaris-sc="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5#solaris" xmlns:x-solaris-smfproperty="http://oval.mitre.org/XMLSchema/x-solaris-smfproperty" xmlns:sch="http://purl.oclc.org/dsdl/schematron" targetNamespace="http://oval.mitre.org/XMLSchema/x-solaris-smfproperty" elementFormDefault="qualified" version="5.11">
<xsd:import namespace="http://oval.mitre.org/XMLSchema/oval-definitions-5" schemaLocation="oval-definitions-schema.xsd"/>
<xsd:import namespace="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5" schemaLocation="oval-system-characteristics-schema.xsd"/>
<xsd:annotation>
<xsd:documentation>The following is a proposal for the experimental solaris-def:smfproperty_test and solaris-sc:smfproperty_item that will support checking the properties associated with SMF services.</xsd:documentation>
<xsd:appinfo>
<schema>Experimental Schema for the Solaris 11 SMF Test</schema>
<version>5.11</version>
<date>10/22/2013 3:00:00 PM</date>
<terms_of_use>Copyright (c) 2002-2013, The MITRE Corporation. All rights reserved. The contents of this file are subject to the terms of the OVAL License located at http://oval.mitre.org/oval/about/termsofuse.html. See the OVAL License for the specific language governing permissions and limitations for use of this schema. When distributing copies of the OVAL Schema, this license header must be included.</terms_of_use>
<sch:ns prefix="oval-def" uri="http://oval.mitre.org/XMLSchema/oval-definitions-5"/>
<sch:ns prefix="oval-sc" uri="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5"/>
<sch:ns prefix="solaris-def" uri="http://oval.mitre.org/XMLSchema/oval-definitions-5#solaris"/>
<sch:ns prefix="solaris-sc" uri="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5#solaris"/>
<sch:ns prefix="x-solaris-smfproperty" uri="http://oval.mitre.org/XMLSchema/x-solaris-smfproperty"/>
<sch:ns prefix="xsi" uri="http://www.w3.org/2001/XMLSchema-instance"/>
</xsd:appinfo>
</xsd:annotation>
<!-- =============================================================================== -->
<!-- ============================ SMF PROPERTY TEST ============================== -->
<!-- =============================================================================== -->
<xsd:element name="smfproperty_test" substitutionGroup="oval-def:test">
<xsd:annotation>
<xsd:documentation>The smfproperty_test is used to check the value of properties associated with SMF services. It extends the standard TestType as defined in the oval-definitions-schema and one should refer to the TestType description for more information. The required object element references an smfproperty_object and the optional state elements reference a smfproperty_state and specifies the data to check.</xsd:documentation>
<xsd:appinfo>
<oval:element_mapping>
<oval:test>smfproperty_test</oval:test>
<oval:object>smfproperty_object</oval:object>
<oval:state>smfproperty_state</oval:state>
<oval:item>smfproperty_item</oval:item>
</oval:element_mapping>
</xsd:appinfo>
<xsd:appinfo>
<sch:pattern id="x-solaris-smfproperty_test">
<sch:rule context="x-solaris-smfproperty:smfproperty_test/x-solaris-smfproperty:object">
<sch:assert test="@object_ref=ancestor::oval-def:oval_definitions/oval-def:objects/x-solaris-smfproperty:smfproperty_object/@id"><sch:value-of select="../@id"/> - the object child element of an smfproperty_test must reference an smfproperty_object</sch:assert>
</sch:rule>
<sch:rule context="x-solaris-smfproperty:smfproperty_test/x-solaris-smfproperty:state">
<sch:assert test="@state_ref=ancestor::oval-def:oval_definitions/oval-def:states/x-solaris-smfproperty:smfproperty_state/@id"><sch:value-of select="../@id"/> - the state child element of an smfproperty_test must reference an smfproperty_state</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="oval-def:TestType">
<xsd:sequence>
<xsd:element name="object" type="oval-def:ObjectRefType" />
<xsd:element name="state" type="oval-def:StateRefType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="smfproperty_object" substitutionGroup="oval-def:object">
<xsd:annotation>
<xsd:documentation>The smfproperty_object element is used by a SMF property test to define the SMF property items to be evaluated based on the specified states. Each object extends the standard ObjectType as defined in the oval-definitions-schema and one should refer to the ObjectType description for more information. The common set element allows complex objects to be created using filters and set logic. Again, please refer to the description of the set element in the oval-definitions-schema.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="x-solaris-smfproperty_object_verify_filter_state">
<sch:rule context="x-solaris-smfproperty:smfproperty_object//oval-def:filter">
<sch:let name="parent_object" value="ancestor::x-solaris-smfproperty:smfproperty_object"/>
<sch:let name="parent_object_id" value="$parent_object/@id"/>
<sch:let name="state_ref" value="."/>
<sch:let name="reffed_state" value="ancestor::oval-def:oval_definitions/oval-def:states/*[@id=$state_ref]"/>
<sch:let name="state_name" value="local-name($reffed_state)"/>
<sch:let name="state_namespace" value="namespace-uri($reffed_state)"/>
<sch:assert test="(($state_namespace='http://oval.mitre.org/XMLSchema/x-solaris-smfproperty') and ($state_name='smfproperty_state'))">State referenced in filter for <sch:value-of select="name($parent_object)"/> '<sch:value-of select="$parent_object_id"/>' is of the wrong type. </sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="oval-def:ObjectType">
<xsd:sequence>
<xsd:choice>
<xsd:element ref="oval-def:set"/>
<xsd:sequence>
<xsd:element name="service" type="oval-def:EntityObjectStringType">
<xsd:annotation>
<xsd:documentation>Specifies the SMF service on the system. This is the service category and name separated by a forward slash ("/").</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="instance" type="oval-def:EntityObjectStringType">
<xsd:annotation>
<xsd:documentation>The instance of an SMF service which represents a specific configuration of a service.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="property" type="oval-def:EntityObjectStringType">
<xsd:annotation>
<xsd:documentation>The name of the property associated with an SMF service. This is the property category and name separated by a forward slash ("/").</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="oval-def:filter" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:choice>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="smfproperty_state" substitutionGroup="oval-def:state">
<xsd:annotation>
<xsd:documentation>The smfproperty_state specifies the values of properties associated with SMF services.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="oval-def:StateType">
<xsd:sequence>
<xsd:element name="service" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Specifies the SMF service on the system. This is the service category and name separated by a forward slash ("/").</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="instance" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Specifies the instance of an SMF service which represents a specific configuration of a service.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="property" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Specifies the name of the property associated with an SMF service. This is the property category and name separated by a forward slash ("/").</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="fmri" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>The Fault Management Resource Identifier (FMRI) of the SMF service which uniquely identifies the service on the system.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="value" type="oval-def:EntityStateAnySimpleType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Specifies the value of the property associated with an SMF service.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<!-- =============================================================================== -->
<!-- ============================ SMF PROPERTY ITEM ============================== -->
<!-- =============================================================================== -->
<xsd:element name="smfproperty_item" substitutionGroup="oval-sc:item">
<xsd:annotation>
<xsd:documentation>This item stores the properties and values of an SMF service.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="oval-sc:ItemType">
<xsd:sequence>
<xsd:element name="service" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Specifies the SMF service on the system. This is the service category and name separated by a forward slash ("/").</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="instance" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Specifies the instance of an SMF service which represents a specific configuration of a service.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="property" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>The name of the property associated with an SMF service. This is the property category and name separated by a forward slash ("/").</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="fmri" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>The Fault Management Resource Identifier (FMRI) of the SMF service which uniquely identifies the service on the system.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="value" type="oval-sc:EntityItemAnySimpleType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Specifies the value of the property associated with an SMF service.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
</xsd:schema>