This XML Schema defines the CPE Applicability Language. An individual CPE Nameaddresses a single part of an actual system. To identify more complex platform types, there needs to be away to combine different CPE Names using logical operators. For example, there may be a need to identify aplatform with a particular operating system AND a certain application. The CPE Applicability Language existsto satisfy this need, enabling the CPE Name for the operating system to be combined with the CPE Name forthe application. For more information, consult the CPE Applicability Language Specification document.
Element cpe:platform-specification
Namespace
http://cpe.mitre.org/language/2.0
Annotations
This element is the root element of a CPE Applicability Language XMLdocument and therefore acts as a container for child platform definitions.
<xsd:element name="platform-specification" type="cpe:platformSpecificationType"><xsd:annotation><xsd:documentation xml:lang="en">This element is the root element of a CPE Applicability Language XML document and therefore acts as a container for child platform definitions.</xsd:documentation></xsd:annotation><xsd:key name="platformKey"><xsd:selector xpath="cpe:platform"/><xsd:field xpath="@id"/></xsd:key></xsd:element>
A locally unique name for the platform. There is no definedformat for this id; however, it must be unique within the containing CPE ApplicabilityLanguage document.
A human-readable title for a platform. To support uses intended formultiple languages, the title element supports the ‘xml:lang’ attribute. At most one titleelement can appear for each language.
Attempting to install the relevant ISO 2- and 3-letter codes as the enumerated possible values is probably never going to be a realistic possibility. See RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry at http://www.iana.org/assignments/lang-tag-apps.htm for further information. The union allows for the 'un-declaration' of xml:lang with the empty string.
Source
<xsd:element name="title" type="cpe:TextType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">A human-readable title for a platform. To support uses intended for multiple languages, the title element supports the ‘xml:lang’ attribute. At most one title element can appear for each language.</xsd:documentation></xsd:annotation></xsd:element>
An additional description. To support uses intended for multiplelanguages, the remark element supports the ‘xml:lang’ attribute. There can be multiple remarksfor a single language.
Attempting to install the relevant ISO 2- and 3-letter codes as the enumerated possible values is probably never going to be a realistic possibility. See RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry at http://www.iana.org/assignments/lang-tag-apps.htm for further information. The union allows for the 'un-declaration' of xml:lang with the empty string.
Source
<xsd:element name="remark" type="cpe:TextType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">An additional description. To support uses intended for multiple languages, the remark element supports the ‘xml:lang’ attribute. There can be multiple remarks for a single language.</xsd:documentation></xsd:annotation></xsd:element>
Whether the result of applying the operator should be negated. Possiblevalues are "TRUE" and "FALSE". This does not apply if the initial result isERROR.
The operator applied to the results of evaluating the fact-ref,check-fact-ref, and logical-test elements. The permitted operators are "AND" and"OR".
Source
<xsd:element name="logical-test" type="cpe:LogicalTestType"><xsd:annotation><xsd:appinfo><sch:pattern id="nonexistent-child"><sch:rule context="cpe:logical-test"><sch:assert test="count(cpe:logical-test) > 0 or count(cpe:fact-ref) > 0 or count(cpe:check-fact-ref) > 0">All logical-test elements must contain one or more child logical-test, fact-ref, and/or check-fact-ref elements.</sch:assert></sch:rule></sch:pattern></xsd:appinfo></xsd:annotation></xsd:element>
Whether the result of applying the operator should be negated. Possiblevalues are "TRUE" and "FALSE". This does not apply if the initial result isERROR.
The operator applied to the results of evaluating the fact-ref,check-fact-ref, and logical-test elements. The permitted operators are "AND" and"OR".
Source
<xsd:element name="logical-test" type="cpe:LogicalTestType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">Definition of complex logical test using AND, OR, and/or negate operators. Evaluates to a TRUE, FALSE, or ERROR result.</xsd:documentation></xsd:annotation></xsd:element>
A locally unique name for the platform. There is no definedformat for this id; however, it must be unique within the containing CPE ApplicabilityLanguage document.
Source
<xsd:complexType name="PlatformType"><xsd:complexContent><xsd:extension base="cpe:PlatformBaseType"><xsd:attribute name="id" type="xsd:anyURI" use="required"><xsd:annotation><xsd:documentation xml:lang="en">A locally unique name for the platform. There is no defined format for this id; however, it must be unique within the containing CPE Applicability Language document.</xsd:documentation></xsd:annotation></xsd:attribute></xsd:extension></xsd:complexContent></xsd:complexType>
Complex Type cpe:PlatformBaseType
Namespace
http://cpe.mitre.org/language/2.0
Annotations
The description or qualifications of a particular IT platform type. Theplatform is defined by the logical-test child element.
<xsd:complexType name="PlatformBaseType"><xsd:annotation><xsd:documentation xml:lang="en">The description or qualifications of a particular IT platform type. The platform is defined by the logical-test child element.</xsd:documentation></xsd:annotation><xsd:sequence><xsd:element name="title" type="cpe:TextType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">A human-readable title for a platform. To support uses intended for multiple languages, the title element supports the ‘xml:lang’ attribute. At most one title element can appear for each language.</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="remark" type="cpe:TextType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">An additional description. To support uses intended for multiple languages, the remark element supports the ‘xml:lang’ attribute. There can be multiple remarks for a single language.</xsd:documentation></xsd:annotation></xsd:element><xsd:element ref="cpe:logical-test" minOccurs="1" maxOccurs="1"><xsd:annotation><xsd:documentation xml:lang="en">Definition of test using logical operators (AND, OR, negate).</xsd:documentation></xsd:annotation></xsd:element></xsd:sequence></xsd:complexType>
Complex Type cpe:TextType
Namespace
http://cpe.mitre.org/language/2.0
Annotations
This type allows the xml:lang attribute to associate a specific languagewith an element's string content.
Attempting to install the relevant ISO 2- and 3-letter codes as the enumerated possible values is probably never going to be a realistic possibility. See RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry at http://www.iana.org/assignments/lang-tag-apps.htm for further information. The union allows for the 'un-declaration' of xml:lang with the empty string.
Source
<xsd:complexType name="TextType"><xsd:annotation><xsd:documentation xml:lang="en">This type allows the xml:lang attribute to associate a specific language with an element's string content.</xsd:documentation></xsd:annotation><xsd:simpleContent><xsd:extension base="xsd:string"><xsd:attribute ref="xml:lang"/></xsd:extension></xsd:simpleContent></xsd:complexType>
Complex Type cpe:LogicalTestType
Namespace
http://cpe.mitre.org/language/2.0
Annotations
The logical-test element appears as a child of a platform element, and mayalso be nested to create more complex logical tests. The content consists of one or more elements:fact-ref, check-fact-ref, and logical-test children are permitted. The operator to be applied, andoptional negation of the test, are given as attributes.
Whether the result of applying the operator should be negated. Possiblevalues are "TRUE" and "FALSE". This does not apply if the initial result isERROR.
The operator applied to the results of evaluating the fact-ref,check-fact-ref, and logical-test elements. The permitted operators are "AND" and"OR".
Source
<xsd:complexType name="LogicalTestType"><xsd:annotation><xsd:documentation xml:lang="en">The logical-test element appears as a child of a platform element, and may also be nested to create more complex logical tests. The content consists of one or more elements: fact-ref, check-fact-ref, and logical-test children are permitted. The operator to be applied, and optional negation of the test, are given as attributes.</xsd:documentation></xsd:annotation><xsd:sequence><xsd:element name="logical-test" type="cpe:LogicalTestType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">Definition of complex logical test using AND, OR, and/or negate operators. Evaluates to a TRUE, FALSE, or ERROR result.</xsd:documentation></xsd:annotation></xsd:element><xsd:element ref="cpe:fact-ref" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">A reference to a bound form of a WFN; the reference always evaluates to a boolean result. The bound name contained within a fact-ref is meant to describe a possible set of products and is not meant to identify a unique product class.</xsd:documentation></xsd:annotation></xsd:element><xsd:element ref="cpe:check-fact-ref" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">A reference to a check that always evaluates to TRUE, FALSE, or ERROR. Examples of types of checks are OVAL and OCIL checks.</xsd:documentation></xsd:annotation></xsd:element></xsd:sequence><xsd:attribute name="operator" type="cpe:operatorEnumeration" use="required"><xsd:annotation><xsd:documentation xml:lang="en">The operator applied to the results of evaluating the fact-ref, check-fact-ref, and logical-test elements. The permitted operators are "AND" and "OR".</xsd:documentation></xsd:annotation></xsd:attribute><xsd:attribute name="negate" type="xsd:boolean" use="required"><xsd:annotation><xsd:documentation xml:lang="en">Whether the result of applying the operator should be negated. Possible values are "TRUE" and "FALSE". This does not apply if the initial result is ERROR.</xsd:documentation></xsd:annotation></xsd:attribute></xsd:complexType>
Complex Type cpe:CPEFactRefType
Namespace
http://cpe.mitre.org/language/2.0
Annotations
A reference to a CPE Name that always evaluates to a Booleanresult.
<xsd:complexType name="CPEFactRefType"><xsd:annotation><xsd:documentation xml:lang="en">A reference to a CPE Name that always evaluates to a Boolean result.</xsd:documentation></xsd:annotation><xsd:complexContent><xsd:extension base="cpe:FactRefType"><xsd:attribute name="name" type="cpe:namePattern" use="required"/></xsd:extension></xsd:complexContent></xsd:complexType>
A reference to a check that always evaluates to a TRUE, FALSE, or ERRORresult.
The CheckFactRefType complex type is used to define an element for holdinginformation about an individual check. It includes a checking system specification URI, string contentidentifying the check content to invoke, and an external reference. The checking system specificationshould be the URI that uniquely identifies a revision of a check system language, and the id-ref will bean identifier of a test written in that language. The external reference should be used to point to thecontent in which the check identifier is defined.
<xsd:complexType name="CheckFactRefType"><xsd:annotation><xsd:documentation xml:lang="en">A reference to a check that always evaluates to a TRUE, FALSE, or ERROR result.</xsd:documentation><xsd:documentation xml:lang="en">The CheckFactRefType complex type is used to define an element for holding information about an individual check. It includes a checking system specification URI, string content identifying the check content to invoke, and an external reference. The checking system specification should be the URI that uniquely identifies a revision of a check system language, and the id-ref will be an identifier of a test written in that language. The external reference should be used to point to the content in which the check identifier is defined.</xsd:documentation></xsd:annotation><xsd:complexContent><xsd:extension base="cpe:FactRefType"><xsd:attribute name="system" type="xsd:anyURI" use="required"/><xsd:attribute name="href" type="xsd:anyURI" use="required"/><xsd:attribute name="id-ref" type="xsd:token" use="required"/></xsd:extension></xsd:complexContent></xsd:complexType>
Simple Type cpe:operatorEnumeration
Namespace
http://cpe.mitre.org/language/2.0
Annotations
The OperatorEnumeration simple type defines acceptable operators. Eachoperator defines how to evaluate multiple arguments.
<xsd:simpleType name="operatorEnumeration"><xsd:annotation><xsd:documentation xml:lang="en">The OperatorEnumeration simple type defines acceptable operators. Each operator defines how to evaluate multiple arguments.</xsd:documentation></xsd:annotation><xsd:restriction base="xsd:string"><xsd:enumeration value="AND"/><xsd:enumeration value="OR"/></xsd:restriction></xsd:simpleType>
<xsd:attribute name="operator" type="cpe:operatorEnumeration" use="required"><xsd:annotation><xsd:documentation xml:lang="en">The operator applied to the results of evaluating the fact-ref, check-fact-ref, and logical-test elements. The permitted operators are "AND" and "OR".</xsd:documentation></xsd:annotation></xsd:attribute>
Whether the result of applying the operator should be negated. Possiblevalues are "TRUE" and "FALSE". This does not apply if the initial result isERROR.
<xsd:attribute name="negate" type="xsd:boolean" use="required"><xsd:annotation><xsd:documentation xml:lang="en">Whether the result of applying the operator should be negated. Possible values are "TRUE" and "FALSE". This does not apply if the initial result is ERROR.</xsd:documentation></xsd:annotation></xsd:attribute>
A locally unique name for the platform. There is no definedformat for this id; however, it must be unique within the containing CPE ApplicabilityLanguage document.
<xsd:attribute name="id" type="xsd:anyURI" use="required"><xsd:annotation><xsd:documentation xml:lang="en">A locally unique name for the platform. There is no defined format for this id; however, it must be unique within the containing CPE Applicability Language document.</xsd:documentation></xsd:annotation></xsd:attribute>