<xs:schema xmlns:SocketAddressObj="http://cybox.mitre.org/objects#SocketAddressObject-1" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:AddressObj="http://cybox.mitre.org/objects#AddressObject-2" xmlns:HostnameObj="http://cybox.mitre.org/objects#HostnameObject-1" xmlns:PortObj="http://cybox.mitre.org/objects#PortObject-2" xmlns:cyboxCommon="http://cybox.mitre.org/common-2" targetNamespace="http://cybox.mitre.org/objects#SocketAddressObject-1" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.1">
	<xs:annotation>
		<xs:documentation>This schema was originally developed by The MITRE Corporation. The CybOX XML Schema implementation is maintained by The MITRE Corporation and developed by the open CybOX Community. For more information, including how to get involved in the effort and how to submit change requests, please visit the CybOX website at http://cybox.mitre.org.</xs:documentation>
		<xs:appinfo>
			<schema>Socket_Address_Object</schema>
			<version>1.1</version>
			<date>01/22/2014</date>			
			<short_description>The following specifies the fields and types that compose this defined CybOX Object type. Each defined object is an extension of the abstract ObjectPropertiesType, defined in CybOX Common. For more information on this extension mechanism, please see the CybOX Specification. This document is intended for developers and assumes some familiarity with XML. </short_description>
			<terms_of_use>Copyright (c) 2012-2014, The MITRE Corporation. All rights reserved. The contents of this file are subject to the terms of the CybOX License located at http://cybox.mitre.org/about/termsofuse.html. See the CybOX License for the specific language governing permissions and limitations for use of this schema. When distributing copies of the CybOX Schema, this license header must be included.</terms_of_use>
		</xs:appinfo>
	</xs:annotation>
	<xs:import namespace="http://cybox.mitre.org/common-2" schemaLocation="http://cybox.mitre.org/XMLSchema/common/2.1/cybox_common.xsd"/>
	<xs:import namespace="http://cybox.mitre.org/objects#AddressObject-2" schemaLocation="http://cybox.mitre.org/XMLSchema/objects/Address/2.1/Address_Object.xsd"/>
	<xs:import namespace="http://cybox.mitre.org/objects#HostnameObject-1" schemaLocation="http://cybox.mitre.org/XMLSchema/objects/Hostname/1.0/Hostname_Object.xsd"/>
	<xs:import namespace="http://cybox.mitre.org/objects#PortObject-2" schemaLocation="http://cybox.mitre.org/XMLSchema/objects/Port/2.1/Port_Object.xsd"/>
	<xs:element name="Socket_Address" type="SocketAddressObj:SocketAddressObjectType">
		<xs:annotation>
			<xs:documentation>The Socket_Address element is intended to characterize a single network socket address.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="SocketAddressObjectType">
		<xs:annotation>
			<xs:documentation>The SocketAddressObjectType specifies an identifier for a network host (IP address or Hostname) and port number pair.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="cyboxCommon:ObjectPropertiesType">
				<xs:sequence>
					<xs:choice>
						<xs:element name="IP_Address" type="AddressObj:AddressObjectType" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The IP_Address field specifies the IP address component of the socket address.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Hostname" type="HostnameObj:HostnameObjectType" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The Hostname field specifies a Hostname for the the socket address.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:choice>
					<xs:element name="Port" type="PortObj:PortObjectType" minOccurs="0">
						<xs:annotation>
							<xs:documentation>The Port field specifies the port number component of the socket connection.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
</xs:schema>
