<xsd:element name="interface_item" substitutionGroup="oval-sc:item">
<xsd:annotation>
<xsd:documentation>The interface item holds information about the interfaces on a system. Each interface item contains name and address information as well as any associated flags. It extends the standard ItemType as defined in the oval-system-characteristics schema and one should refer to the ItemType description for more information.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="oval-sc:ItemType">
<xsd:sequence>
<xsd:element name="name" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>The name entity is the actual name of the specific interface. Examples might be eth0, eth1, fwo, etc.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixinterfaceitemname" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:interface_item/unix-sc:name">
<sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id" /> - datatype attribute for the name entity of an interface_item should be 'string'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="hardware_addr" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>The hardware_addr entity is the hardware or MAC address of the physical network card.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixinterfaceitemhardware_addr" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:interface_item/unix-sc:hardware_addr">
<sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id" /> - datatype attribute for the hardware_addr entity of an interface_item should be 'string'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="inet_addr" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>The inet_addr entity is the IP address of the specific interface.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixinterfaceiteminet_addr" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:interface_item/unix-sc:inet_addr">
<sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id" /> - datatype attribute for the inet_addr entity of an interface_item should be 'string'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="broadcast_addr" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>The broadcast_addr entity is the broadcast IP address for this interface's network. For example 192.168.255.255.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixinterfaceitembroadcast_addr" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:interface_item/unix-sc:broadcast_addr">
<sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id" /> - datatype attribute for the broadcast_addr entity of an interface_item should be 'string'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="netmask" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>This is the bitmask used to calculate the inteface's IP network. The network number is calculated by bitwise-ANDing this with the IP address. The host number on that network is calculated by bitwise-XORing this with the IP address.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixinterfaceitemnetmask" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:interface_item/unix-sc:netmask">
<sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id" /> - datatype attribute for the netmask entity of an interface_item should be 'string'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="flag" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>This is the interface flag line, which generally contains flags like "UP" to denote an active interface, "PROMISC" to note that the interface is listening for Ethernet frames not specifically addressed to it, and others.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixinterfaceitemflag" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:interface_item/unix-sc:flag">
<sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id" /> - datatype attribute for the flag entity of an interface_item should be 'string'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
|