<?xml version="1.0" encoding="UTF-8"?>
<!-- CybOX 0.7 Core Schema -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:cybox="http://cybox.mitre.org/XMLSchema/cybox_v0.7" xmlns:SystemObj="http://cybox.mitre.org/XMLSchema/objects#SystemObject" xmlns:ProcessObj="http://cybox.mitre.org/XMLSchema/objects#ProcessObject" targetNamespace="http://cybox.mitre.org/XMLSchema/cybox_v0.7" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.7">
	<xs:import namespace="http://cybox.mitre.org/XMLSchema/objects#SystemObject" schemaLocation="http://cybox.mitre.org/XMLSchema/objects/System_Object.xsd"/>
	<xs:import namespace="http://cybox.mitre.org/XMLSchema/objects#ProcessObject" schemaLocation="http://cybox.mitre.org/XMLSchema/objects/Process_Object.xsd"/>
	<xs:element name="Observables" type="cybox:ObservablesType">
		<xs:annotation>
			<xs:documentation>The Observables element represents a collection of cyber observables.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="ObservablesType">
		<xs:annotation>
			<xs:documentation>The ObservablesType is a complex type representing a collection of cyber observables.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Observable" type="cybox:ObservableType" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>The Observable element represents a description of a single cyber observable.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Pools" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Pools element  enables the description of Events, Actions, Objects and Attributes in a space-efficient pooled manner with the actual Observable structures defined in the CybOX schema containing references to the pooled elements. This reduces redundancy caused when identical observable elements occur multiple times within a set of defined Observables.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Event_Pool" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The Event_Pool element  enables the description of CybOX Events in a space-efficient pooled manner with the actual Observable structures defined in the CybOX schema containing references to the pooled Event elements. This reduces redundancy caused when identical Events occur multiple times within a set of defined Observables.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Event" type="cybox:EventType" maxOccurs="unbounded"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="Action_Pool" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The Action_Pool element  enables the description of CybOX Actions in a space-efficient pooled manner with the actual Observable structures defined in the CybOX schema containing references to the pooled Action elements. This reduces redundancy caused when identical Actions occur multiple times within a set of defined Observables.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Action" type="cybox:ActionType" maxOccurs="unbounded"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="Object_Pool" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The Object_Pool element  enables the description of CybOX Objects in a space-efficient pooled manner with the actual Observable structures defined in the CybOX schema containing references to the pooled Object elements. This reduces redundancy caused when identical Objects occur multiple times within a set of defined Observables.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Object" type="cybox:ObjectType" maxOccurs="unbounded"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="Attribute_Pool" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The Attribute_Pool element  enables the description of CybOX Attributes in a space-efficient pooled manner with the actual Observable structures defined in the CybOX schema containing references to the pooled Attributes elements. This reduces redundancy caused when identical Attributes occur multiple times within a set of defined Observables.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Attribute"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ObservableType">
		<xs:annotation>
			<xs:documentation>The ObservableType is a complex type representing a description of a single cyber observable.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Description" type="cybox:StructuredTextType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Description element provides a mechanism to specify a structured text description of this Observable. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Keywords" type="xs:string" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>The Keywords element enables capture of relevant keywords for this cyber observable.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:choice minOccurs="0">
				<xs:element name="Stateful_Measure" type="cybox:StatefulMeasureType" minOccurs="0">
					<xs:annotation>
						<xs:documentation>The Stateful Measure element enables specification of a cyber observable property that is statically stateful in nature (e.g. a registry key holding a certain value, a specific mutex existing or a file having a specific MD5 hash). </xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element ref="cybox:Event" minOccurs="0">
					<xs:annotation>
						<xs:documentation>The Event element enables specification of a cyber observable event that is dynamic in nature with specific action(s) taken against specific cyber relevant objects (e.g. a file is deleted, a registry key is created or an HTTP Get Request is received).</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="Observable" type="cybox:ObservableType" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>The Observable element represents a description of a single cyber observable.</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:choice>
			<xs:element name="Delta" minOccurs="0">
				<xs:complexType>
					<xs:choice>
						<xs:element name="Change" type="xs:boolean"/>
						<xs:element name="Trend">
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:enumeration value="Increasing"/>
									<xs:enumeration value="Decreasing"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
						<xs:element name="Frequency">
							<xs:complexType>
								<xs:attribute name="Rate" type="xs:float" use="required"/>
								<xs:attribute name="Units" type="xs:string" use="required"/>
								<xs:attribute name="Scale" type="xs:string" use="required"/>
							</xs:complexType>
						</xs:element>
					</xs:choice>
				</xs:complexType>
			</xs:element>
			<xs:element name="Noisiness" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Noisiness element is optional and enables simple characterization of how noisy this Observable typically could be. In other words, how likely is it to generate false positives.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="High"/>
						<xs:enumeration value="Medium"/>
						<xs:enumeration value="Low"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="Ease_of_Obfuscation" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Ease_of_Obfuscation element is optional and enables simple characterization of how easy it would be for an attacker to obfuscate the observability of this Observable.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="High"/>
						<xs:enumeration value="Medium"/>
						<xs:enumeration value="Low"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="Obfuscation_Techniques" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Obfuscation_Techniques element is optional and enables the description of potential techniques an attacker could leverage to obfuscate the observability of this Observable. </xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Obfuscation_Technique" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>The Obfuscation_Technique element is optional and enables the description of a single  potential technique an attacker could leverage to obfuscate the observability of this Observable. </xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Description" type="cybox:StructuredTextType">
										<xs:annotation>
											<xs:documentation>The Description element captures a structured text description of the obfuscation technique.</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="Observables" type="cybox:ObservablesType" minOccurs="0">
										<xs:annotation>
											<xs:documentation>The Observables element is optional and enables description of potential cyber observables that could indicate the use of this particular obfuscation technique.</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="ID" type="xs:ID">
			<xs:annotation>
				<xs:documentation>The ID attribute specifies a unique ID for this Observable.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="IDREF" type="xs:IDREF">
			<xs:annotation>
				<xs:documentation>The IDREF attribute specifies refernce to a unique ID for this Observable..</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="Operator" type="cybox:OperatorTypeEnum">
			<xs:annotation>
				<xs:documentation>The Operator attribute enables the specification of complex compositional cyber observables by providing logical operators for defining interrelationships between constituent cyber observables defined utilizing the recursive Observable element.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:simpleType name="OperatorTypeEnum">
		<xs:annotation>
			<xs:documentation>OperatorTypeEnum is a (non-exhaustive) enumeration of operators.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="AND"/>
			<xs:enumeration value="OR"/>
			<xs:enumeration value="NOT"/>
		</xs:restriction>
	</xs:simpleType>
	<!---->
	<xs:complexType name="MeasureSourceType">
		<xs:annotation>
			<xs:documentation>MeasureSourceType is a complex type representing a description of a single cyber observation source for a cyber observable instance or a cyber observable pattern.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Platform" type="cybox:CPESpecificationType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Platform element is optional and enables a formal, standardized specification of the platform for this cyber observation srouce. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="System" type="SystemObj:System_Object_Type" minOccurs="0"/>
			<xs:element name="Instance" type="ProcessObj:Process_Object_Type" minOccurs="0"/>
			<xs:element name="Tools" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Tools element is optional and enables description of the tools utilized for this cyber observation source.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Tool" type="cybox:ToolInformationType" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>The Tool element is optional and enables description of a single tool utilized for this cyber observation source.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Contributors" type="cybox:PersonnelType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Contributors element is optional and enables description of the individual contributors involved in this cyber observation source.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Time" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Time element is optional and enables description of various time-related attributes for this cyber observation source instance.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Start_Time" type="xs:dateTime" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The Start_Time element is optional and describes the starting time for this cyber observation source instance.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="End_Time" type="xs:dateTime" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The End_Time element is optional and describes the ending time for this cyber observation source instance.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Produced_Time" type="xs:dateTime" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The Produced_Time element is optional and describes the time that this cyber observation source instance was produced.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Received_Time" type="xs:dateTime" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The Received_Time element is optional and describes the time that this cyber observation source instance was received.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="Class" type="cybox:SourceClassTypeEnum">
			<xs:annotation>
				<xs:documentation>The Class attribute is optional and enables identification of the high-level class of this cyber observation source.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="SourceType" type="cybox:SourceTypeEnum">
			<xs:annotation>
				<xs:documentation>The SourceType attribute is optional and enables identification of the broad type of this cyber observation source.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="ToolType" type="cybox:ToolTypeEnum">
			<xs:annotation>
				<xs:documentation>The ToolType attribute is optional and (when tools are used) enables identification of the type of tool leveraged as part of this cyber observation source.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="AnalysisType">
			<xs:annotation>
				<xs:documentation>The AnalysisType attribute is optional and (when analysis is used) enables identification of the type of analysis utilized as part of this cyber observation source.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="Anomaly Detection"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="AnalysisMethod" type="cybox:AnalysisMethodTypeEnum">
			<xs:annotation>
				<xs:documentation>The AnalysisMethod attribute is optional and (when analysis is used) enables identification of the method of analysis utilized as part of this cyber observation source.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="InformationSourceType" type="cybox:InformationSourceTypeEnum">
			<xs:annotation>
				<xs:documentation>The InformationSourceType attribute is optional and enables identification of the type of information source leveraged for this cyber observation source.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="Name" type="xs:string">
			<xs:annotation>
				<xs:documentation>The Name attribute is optional and enables the assignment of a relevant name to a this Discovery Method.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:simpleType name="SourceClassTypeEnum">
		<xs:annotation>
			<xs:documentation>SourceClassTypeEnum is a (non-exhaustive) enumeration of cyber observation source classes.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Network"/>
			<xs:enumeration value="System"/>
			<xs:enumeration value="Software"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SourceTypeEnum">
		<xs:annotation>
			<xs:documentation>SourceTypeEnum is a (non-exhaustive) enumeration of cyber observation source types.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Tool"/>
			<xs:enumeration value="Analysis"/>
			<xs:enumeration value="InformationSource"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ToolTypeEnum">
		<xs:annotation>
			<xs:documentation>ToolTypeEnum is a (non-exhaustive) enumeration of cyber observation source tool types.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="NIDS"/>
			<xs:enumeration value="NIPS"/>
			<xs:enumeration value="HIDS"/>
			<xs:enumeration value="HIPS"/>
			<xs:enumeration value="Firewall"/>
			<xs:enumeration value="Router"/>
			<xs:enumeration value="Proxy"/>
			<xs:enumeration value="Gateway"/>
			<xs:enumeration value="SNMP/MIBS"/>
			<xs:enumeration value="A/V"/>
			<xs:enumeration value="DBMS Monitor"/>
			<xs:enumeration value="Vulnerability Scanner"/>
			<xs:enumeration value="Configuration Scanner"/>
			<xs:enumeration value="Asset Scanner"/>
			<xs:enumeration value="SIM"/>
			<xs:enumeration value="SEM"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="AnalysisMethodTypeEnum">
		<xs:annotation>
			<xs:documentation>AnalysisMethodTypeEnum is a (non-exhaustive) enumeration of cyber observation source analysis methods.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Static Analysis"/>
			<xs:enumeration value="Dynamic Analysis"/>
			<xs:enumeration value="Other"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="InformationSourceTypeEnum">
		<xs:annotation>
			<xs:documentation>InformationSourceTypeEnum is a (non-exhaustive) enumeration of cyber observation information source types.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Comm Logs"/>
			<xs:enumeration value="Application Logs"/>
			<xs:enumeration value="Web Logs"/>
			<xs:enumeration value="DBMS Log"/>
			<xs:enumeration value="OS/Device Driver APIs"/>
			<xs:enumeration value="Frameworks"/>
			<xs:enumeration value="VM Hypervisor"/>
			<xs:enumeration value="TPM"/>
			<xs:enumeration value="Application Framework"/>
			<xs:enumeration value="Help Desk"/>
			<xs:enumeration value="Incident Management"/>
			<xs:enumeration value="CDS"/>
			<xs:enumeration value="TIPS"/>
			<xs:enumeration value="IAVM"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="ToolInformationType">
		<xs:annotation>
			<xs:documentation>ToolInformationType is a complex type representing a description of a single automated tool.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Vendor" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>This field contains information identifying the vendor organization for this tool.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Name" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>This field contains the name of the tool leveraged.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Version" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>This field contains an appropriate version descriptor of this tool.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Service_Pack" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>This field contains an appropriate service pack descriptor for this tool.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Tool_Hash" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>This field contains a hash value computed on the tool file content in order to verify its integrity.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Tool_Configuration" minOccurs="0">
				<xs:annotation>
					<xs:documentation>This field contains information describing the configuration and usage of the tool.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Configuration_Settings" type="cybox:ConfigurationSettingsType">
							<xs:annotation>
								<xs:documentation>This field describes the configuration settings of this tool instance.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Dependencies" minOccurs="0">
							<xs:annotation>
								<xs:documentation>This field contains information describing the relevant dependencies for this tool.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Dependency" maxOccurs="unbounded">
										<xs:annotation>
											<xs:documentation>This field contains information describing a single dependency for this tool.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:sequence>
												<xs:element name="Dependency_Type" type="xs:string" minOccurs="0">
													<xs:annotation>
														<xs:documentation>This field describes the type of this dependency instance.</xs:documentation>
													</xs:annotation>
												</xs:element>
												<xs:element name="Dependency_Description" type="cybox:StructuredTextType">
													<xs:annotation>
														<xs:documentation>This field contains a description of this dependency instance.</xs:documentation>
													</xs:annotation>
												</xs:element>
											</xs:sequence>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="Usage_Context_Assumptions" minOccurs="0">
							<xs:annotation>
								<xs:documentation>This field contains descriptions of the various relevant usage context assumptions for this tool .</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Usage_Context_Assumption" type="cybox:StructuredTextType" maxOccurs="unbounded">
										<xs:annotation>
											<xs:documentation>This field contains a single usage context assumption for this tool.</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="Internationalization_Settings" minOccurs="0">
							<xs:annotation>
								<xs:documentation>This field contains information describing relevant internationalization setting for this tool .</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Internal_Strings" maxOccurs="unbounded">
										<xs:annotation>
											<xs:documentation>This field contains a single internal string instance for this internationalization setting instance.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:sequence>
												<xs:element name="Key" type="xs:string">
													<xs:annotation>
														<xs:documentation>This field contains the actual key of this internal string instance.</xs:documentation>
													</xs:annotation>
												</xs:element>
												<xs:element name="Content" type="xs:string">
													<xs:annotation>
														<xs:documentation>This field contains the actual content of this internal string instance.</xs:documentation>
													</xs:annotation>
												</xs:element>
											</xs:sequence>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="Build_Information" minOccurs="0">
							<xs:annotation>
								<xs:documentation>This field contains information describing how this tool was built.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Build_ID" type="xs:string" minOccurs="0">
										<xs:annotation>
											<xs:documentation>This field contains a unique identifier of this build of this application instance.</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="Build_Project" type="xs:string" minOccurs="0">
										<xs:annotation>
											<xs:documentation>This field contains the project name of this build of this application instance.</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="Build_Utility" minOccurs="0">
										<xs:annotation>
											<xs:documentation>This field contains information identifying the utility used to build this application.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:sequence>
												<xs:element name="Build_Utility_Name" type="xs:string">
													<xs:annotation>
														<xs:documentation>This field contains the informally defined name of the utility used to build this application instance.</xs:documentation>
													</xs:annotation>
												</xs:element>
												<xs:element name="Build_Utility_CPE_Specification" type="cybox:CPESpecificationType">
													<xs:annotation>
														<xs:documentation>This field contains the CPE specification data to formally define the build utility used to build this application.</xs:documentation>
													</xs:annotation>
												</xs:element>
											</xs:sequence>
										</xs:complexType>
									</xs:element>
									<xs:element name="Build_Version" type="xs:string" minOccurs="0">
										<xs:annotation>
											<xs:documentation>This field contains the appropriate version descriptor of this build of this application instance.</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="Build_Label" type="xs:string" minOccurs="0">
										<xs:annotation>
											<xs:documentation>This field contains any relevant label for this build of this application instance.</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="Compilers" minOccurs="0">
										<xs:annotation>
											<xs:documentation>This field describes the compilers utilized during this build of this application.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:sequence>
												<xs:element name="Compiler" maxOccurs="unbounded">
													<xs:annotation>
														<xs:documentation>This field describes a single compiler utilized during this build of this application.</xs:documentation>
													</xs:annotation>
													<xs:complexType>
														<xs:sequence>
															<xs:element name="Compiler_Informal_Description" minOccurs="0">
																<xs:annotation>
																	<xs:documentation>This field contains the informal description of this compiler instance.</xs:documentation>
																</xs:annotation>
																<xs:complexType>
																	<xs:sequence>
																		<xs:element name="Compiler_Name" type="xs:string"/>
																		<xs:element name="Compiler_Version" type="xs:string" minOccurs="0"/>
																	</xs:sequence>
																</xs:complexType>
															</xs:element>
															<xs:element name="Compiler_CPE_Specification" type="cybox:CPESpecificationType" minOccurs="0">
																<xs:annotation>
																	<xs:documentation>This field contains the CPE specification data to formally define this compiler instance.</xs:documentation>
																</xs:annotation>
															</xs:element>
														</xs:sequence>
													</xs:complexType>
												</xs:element>
											</xs:sequence>
										</xs:complexType>
									</xs:element>
									<xs:element name="Build_Configuration" minOccurs="0">
										<xs:annotation>
											<xs:documentation>This field describes how the build utility was configured for this build of this application.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:sequence>
												<xs:element name="Configuration_Setting_Description" type="xs:string" minOccurs="0">
													<xs:annotation>
														<xs:documentation>This field contains the description of the configuration settings for this build of this application instance.</xs:documentation>
													</xs:annotation>
												</xs:element>
												<xs:element name="Configuration_Settings" type="cybox:ConfigurationSettingsType">
													<xs:annotation>
														<xs:documentation>This field contains the configuration settings for this build of this application instance.</xs:documentation>
													</xs:annotation>
												</xs:element>
											</xs:sequence>
										</xs:complexType>
									</xs:element>
									<xs:element name="Build_Script" type="xs:string" minOccurs="0">
										<xs:annotation>
											<xs:documentation>This field contains the actual build script  for this build of this application instance.</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="Build_Output_Log" type="xs:string" minOccurs="0">
										<xs:annotation>
											<xs:documentation>This field contains a capture of the output log of the build process.</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Errors" minOccurs="0">
				<xs:annotation>
					<xs:documentation>This field captures any errors generated during the run of the tool.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Error" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>This field captures a single type of error generated during the run of the tool.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Error_Type" type="xs:string">
										<xs:annotation>
											<xs:documentation>This field specifies the the type for this tool run error.</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="Error_Count" minOccurs="0">
										<xs:annotation>
											<xs:documentation>This field specifies the count of instances for this error in the tool run.</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="Error_Instances" minOccurs="0">
										<xs:annotation>
											<xs:documentation>This field captures the actual error output for each instance of this type of error.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:sequence>
												<xs:element name="Error_Instance" type="xs:string" maxOccurs="unbounded">
													<xs:annotation>
														<xs:documentation>This field captures the actual error output for a single instance of this type of error.</xs:documentation>
													</xs:annotation>
												</xs:element>
											</xs:sequence>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Metadata" type="cybox:MetadataType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>This field captures other relevant metadata including tool-specific fields.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="ID" type="xs:string">
			<xs:annotation>
				<xs:documentation>The ID attribute specifies a unique ID for this Tool.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="IDREF" type="xs:string">
			<xs:annotation>
				<xs:documentation>The IDREF attribute specifies reference to a unique ID for this Tool.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="ConfigurationSettingsType">
		<xs:annotation>
			<xs:documentation>Configuration_SettingsType is a modularized data type used throughout the SAFES schema to provide a consistent approach to describing configuration settings for a piece of the piece of software such as the application components (framework, web server, application server, etc.) or a software assurance analysis tool.</xs:documentation>
		</xs:annotation>
		<xs:sequence minOccurs="0">
			<xs:element name="Configuration_Setting" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>This field contains a single configuration setting instance.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Item_Name" type="xs:string">
							<xs:annotation>
								<xs:documentation>This field contains the name of the configuration item referenced by this configuration setting instance.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Item_Value" type="xs:string">
							<xs:annotation>
								<xs:documentation>This field contains the value of this configuration setting instance.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Item_Type" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>This field contains the type of the configuration item referenced in this configuration setting instance.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Item_Description" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>This field contains a description of the configuration item referenced in this configuration setting instance.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="CPESpecificationType">
		<xs:annotation>
			<xs:documentation>CPESpecificationType is a modularized data type to provide a consistent approach to uniquesly specifying the identity of a specific platform using the Common Platform Enumeration (CPE) naming standard. http://cpe.mitre.org/</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Title" minOccurs="0">
				<xs:annotation>
					<xs:documentation>This field contains the plain language descriptive title of the relevant platform.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="lang" type="xs:string" use="optional">
								<xs:annotation>
									<xs:documentation>This field holds a shortform descriptor for the language that the Title field is expressed in. 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.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="meta-item-metadata" minOccurs="0">
				<xs:annotation>
					<xs:documentation>This field aggregates the descriptive metadata for this CPE Name instance.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attribute name="modification-date" type="xs:dateTime" use="optional">
						<xs:annotation>
							<xs:documentation>This date/time represents the last time that any CPE property has been modified.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="status" type="xs:string" use="optional">
						<xs:annotation>
							<xs:documentation>This field contains the internal NVD status of a CPE.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="nvd-id" type="xs:integer" use="optional">
						<xs:annotation>
							<xs:documentation>This field contains the NVD specific unique identifier for a CPE. This is provided as a long-term identifier that can be used to map different versions of CPE syntax to a CPE with the same meaning.  This is not a replacement of a CPEName.  Use of a CPEName is still the standard ID naming scheme for CPE 2.x.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="xmlns-meta" type="xs:string" use="optional">
						<xs:annotation>
							<xs:documentation>This field contains the XML CPE metadata namespace descriptor for the CPE namespace relevant to this CPE Name use.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="Name" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>This field contains the CPE Name value for the relevant platform. A CPE Name is a percent-encoded URI with each name starting with the prefix (the URI scheme name) "cpe:". The remainder of the name consists of colon separated values representing the CPE part, vendor, product, version, update, edition and language (i.e. cpe:/ {part} : {vendor} : {product} : {version} : {update} : {edition} : {language}).</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="xmlns_value" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>This field contains the XML namespace descriptor for the CPE namespace relevant to this CPE Name use.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<!---->
	<xs:complexType name="StatefulMeasureType">
		<xs:annotation>
			<xs:documentation>The StatefulMeasureType is a complex type representing a cyber observable property that is statically stateful in nature (e.g. a registry key holding a certain value, a specific mutex existing or a file having a specific MD5 hash). </xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Description" type="cybox:StructuredTextType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Description element provides a mechanism to specify a structured text description of this Stateful Measure. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="cybox:Object">
				<xs:annotation>
					<xs:documentation>The Object element identifies and specificies the characteristics of a specific cyber-relevant object (e.g. a file, a registry key or a process). </xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="Name">
			<xs:annotation>
				<xs:documentation>The Name attribute is optional and enables the assignment of a relevant name to a specific Stateful Measure.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<!---->
	<xs:element name="Event" type="cybox:EventType">
		<xs:annotation>
			<xs:documentation>The Event element enables specification of a cyber observable event that is dynamic in nature with specific action(s) taken against specific cyber relevant objects (e.g. a file is deleted, a registry key is created or an HTTP Get Request is received).</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="EventType">
		<xs:annotation>
			<xs:documentation>The EventType is a complex type representing a cyber observable event that is dynamic in nature with specific action(s) taken against specific cyber relevant objects (e.g. a file is deleted, a registry key is created or an HTTP Get Request is received).</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:sequence>
				<xs:element name="Description" type="cybox:StructuredTextType" minOccurs="0">
					<xs:annotation>
						<xs:documentation>The Description element provides a mechanism to specify a structured text description of this Event. </xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="Producer-Observer" type="cybox:MeasureSourceType" minOccurs="0">
					<xs:annotation>
						<xs:documentation>The Producer-Observer  element is optional and enables descriptive specification of how this Event was observed (in the case of a Cyber Observable Event instance) or could potentially be observed (in the case of a Cyber Observable Event pattern). </xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="Actions">
					<xs:annotation>
						<xs:documentation>The Actions element enables description/specification of one or more cyber observable actions. </xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element ref="cybox:Action" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>The Action element enables description/specification of a single cyber observable action. </xs:documentation>
								</xs:annotation>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:sequence maxOccurs="unbounded">
				<xs:element name="Event" type="cybox:EventType">
					<xs:annotation>
						<xs:documentation>This Event element is included recursively to enable description/specification of composite Events.</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
		</xs:choice>
		<xs:attribute name="ID" type="xs:ID">
			<xs:annotation>
				<xs:documentation>The ID attribute specifies a unique ID for this Event.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="IDREF" type="xs:IDREF">
			<xs:annotation>
				<xs:documentation>The IDREF attribute specifies refernce to a unique ID for this Event.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="Type" type="cybox:EventTypeEnum">
			<xs:annotation>
				<xs:documentation>The Type attribute specifies what kind of Event this is.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:simpleType name="EventTypeEnum">
		<xs:annotation>
			<xs:documentation>EventTypeEnum is a (non-exhaustive) enumeration of cyber observable event types.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="File Ops (CRUD)"/>
			<xs:enumeration value="Registry Ops"/>
			<xs:enumeration value="Memory Ops"/>
			<xs:enumeration value="Process Mgt"/>
			<xs:enumeration value="Thread Mgt"/>
			<xs:enumeration value="Service Mgt"/>
			<xs:enumeration value="Session Mgt"/>
			<xs:enumeration value="API Calls"/>
			<xs:enumeration value="Port Scan"/>
			<xs:enumeration value="IP Ops"/>
			<xs:enumeration value="DNS Lookup Ops"/>
			<xs:enumeration value="Socket Ops"/>
			<xs:enumeration value="IPC"/>
			<xs:enumeration value="Configuration Management"/>
			<xs:enumeration value="User/Password Mgt"/>
			<xs:enumeration value="Account Ops (App Layer)"/>
			<xs:enumeration value="HTTP Traffic"/>
			<xs:enumeration value="App Layer Traffic"/>
			<xs:enumeration value="Packet Traffic"/>
			<xs:enumeration value="Data Flow"/>
			<xs:enumeration value="Anomoly Events"/>
			<xs:enumeration value="Technical Compliance"/>
			<xs:enumeration value="Procedural Compliance"/>
			<xs:enumeration value="GUI/KVM"/>
			<xs:enumeration value="Autorun"/>
			<xs:enumeration value="USB/Media Detection"/>
			<xs:enumeration value="SQL"/>
			<xs:enumeration value="DHCP"/>
			<xs:enumeration value="Redirection"/>
			<xs:enumeration value="Authentication Ops"/>
			<xs:enumeration value="Authorization (ACL)"/>
			<xs:enumeration value="Privilege Ops"/>
			<xs:enumeration value="Basic System Ops"/>
			<xs:enumeration value="Signature Detection"/>
			<xs:enumeration value="Auto-update Ops"/>
			<xs:enumeration value="Application Logic"/>
		</xs:restriction>
	</xs:simpleType>
	<!---->
	<xs:element name="Action" type="cybox:ActionType">
		<xs:annotation>
			<xs:documentation>The Action element enables description/specification of a single cyber observable action. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="ActionType">
		<xs:annotation>
			<xs:documentation>The ActionType is a complex type representing a single cyber observable action.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Action_Name" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Action_Name element is optional and identifies/characterizes the specific action performed.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Defined_Name" type="cybox:DefinedActionNameEnum" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The Defined_Name element is optional and utilizes a standardized defined name to identify/characterize the specific action performed. Wherever possible, standardized defined action names should be utilized.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Undefined_Name" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The Undefined_Name element is optional and utilizes a non-standardized undefined name to identify/characterize the specific action performed.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Description" type="cybox:StructuredTextType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Description element contains a textual description of the action.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Action_Aliases" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Action_Aliases element is optional and enables identification of other potentially used names for this Action.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Action_Alias" type="xs:string" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>The Action_Alias element is optional and enables identification of a single other potentially used name for this Action.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Action_Arguments" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Action_Arguments element is optional and enables the specification of relevant arguments/parameters for this Action.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Action_Argument" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>The Action_Argument element is optional and enables the specification of a single relevant argument/parameter for this Action.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Argument_Name-Defined" type="cybox:DefinedArgumentNameEnum" minOccurs="0">
										<xs:annotation>
											<xs:documentation>The Argument_Name-Defined element is optional and utilizes a standardized defined name to identify/characterize the specific action argument utilized. Wherever possible, standardized defined argument names should be utilized.</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="Argument_Name-Undefined" type="xs:string" minOccurs="0">
										<xs:annotation>
											<xs:documentation>The Argument_Name-Undefined element is optional and utilizes a non-standardized undefined name to identify/characterize the specific action argument utilized.</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="Argument_Value" type="xs:string" minOccurs="0">
										<xs:annotation>
											<xs:documentation>The Argument_Value attribute specifies the value for this action argument/parameter.</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Discovery_Method" type="cybox:MeasureSourceType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Discovery_Method  element is optional and enables descriptive specification of how this Action was observed (in the case of a Cyber Observable Action instance) or could potentially be observed (in the case of a Cyber Observable Action pattern). </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Associated_Objects" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Associated_Objects element is optional and enables the description/specification of cyber Objects relevant (either initiating or affected by) this Action.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Associated_Object" type="cybox:AssociatedObjectType" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>The Associated_Object element enables the description of cyber Objects associated with this Action. This could include Objects that initiated the action, are the target Objects affected by the Action, are utilized by the Action or are the returned result of the Action.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Relationships" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Relationships element is optional and enables description of other cyber observable actions that are related to this Action.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Relationship" type="cybox:ActionRelationshipType" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>The Relationship element is optional and enables description of a single other cyber observable action that is related to this Action.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="ID" type="xs:ID">
			<xs:annotation>
				<xs:documentation>The ID attribute specifies a unique ID for this Action.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="IDREF" type="xs:IDREF">
			<xs:annotation>
				<xs:documentation>The IDREF attribute specifies refernce to a unique ID for this Action.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="Type" type="cybox:ActionTypeEnum" use="required">
			<xs:annotation>
				<xs:documentation>The Type attribute  specifies the basic type of action performed.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="ordinal_position" type="xs:positiveInteger">
			<xs:annotation>
				<xs:documentation>The ordinal_position attribute is intended to reference the ordinal position of the action with within a series of actions.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="Action_Status" type="cybox:ActionStatusTypeEnum">
			<xs:annotation>
				<xs:documentation>The Action_Status attribute enables description of the status of the action being described.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="Context" type="cybox:ActionContextTypeEnum">
			<xs:annotation>
				<xs:documentation>The Context attribute is optional and enables simple characterization of the broad operational context in which the Action is relevant</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="NetworkProtocol" type="cybox:NetworkProtocolEnum">
			<xs:annotation>
				<xs:documentation>The NetworkProtocol attribute is optional and (where the Context is Network) enables the description of the relevant network protocol involved in the Action.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="timestamp" type="xs:time">
			<xs:annotation>
				<xs:documentation>The timestamp attribute represents the local or relative time at which the action occurred or was observed. </xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:anyAttribute namespace="##other" processContents="lax">
			<xs:annotation>
				<xs:documentation>The "any" attribute enables the capture of custom attributes describing this Action. </xs:documentation>
			</xs:annotation>
		</xs:anyAttribute>
	</xs:complexType>
	<xs:simpleType name="ActionStatusTypeEnum">
		<xs:annotation>
			<xs:documentation>ActionStatusTypeEnum is a (non-exhaustive) enumeration of cyber observable action status types.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Success"/>
			<xs:enumeration value="Fail"/>
			<xs:enumeration value="Error"/>
			<xs:enumeration value="Complete/Finish"/>
			<xs:enumeration value="Pending"/>
			<xs:enumeration value="Ongoing"/>
			<xs:enumeration value="Unknown"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ActionTypeEnum">
		<xs:annotation>
			<xs:documentation>ActionTypeEnum is a (non-exhaustive) enumeration of cyber observable action types.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Accept"/>
			<xs:enumeration value="Access/Open"/>
			<xs:enumeration value="Alert"/>
			<xs:enumeration value="Allocate"/>
			<xs:enumeration value="Archive"/>
			<xs:enumeration value="Assign"/>
			<xs:enumeration value="Audit"/>
			<xs:enumeration value="Backup"/>
			<xs:enumeration value="Bind"/>
			<xs:enumeration value="Block"/>
			<xs:enumeration value="Call"/>
			<xs:enumeration value="Clean"/>
			<xs:enumeration value="Click"/>
			<xs:enumeration value="Close"/>
			<xs:enumeration value="Compare"/>
			<xs:enumeration value="Compress"/>
			<xs:enumeration value="Configure"/>
			<xs:enumeration value="Connect"/>
			<xs:enumeration value="Control"/>
			<xs:enumeration value="Copy/Duplicate"/>
			<xs:enumeration value="Create"/>
			<xs:enumeration value="Decode"/>
			<xs:enumeration value="Decompress"/>
			<xs:enumeration value="Decrypt"/>
			<xs:enumeration value="Deny"/>
			<xs:enumeration value="Depress"/>
			<xs:enumeration value="Detect"/>
			<xs:enumeration value="Disconnect"/>
			<xs:enumeration value="Download"/>
			<xs:enumeration value="Draw"/>
			<xs:enumeration value="Drop"/>
			<xs:enumeration value="Encode"/>
			<xs:enumeration value="Encrypt"/>
			<xs:enumeration value="Enumerate"/>
			<xs:enumeration value="Execute"/>
			<xs:enumeration value="Filter"/>
			<xs:enumeration value="Find"/>
			<xs:enumeration value="Fork"/>
			<xs:enumeration value="Free"/>
			<xs:enumeration value="Get"/>
			<xs:enumeration value="Hook"/>
			<xs:enumeration value="Initialize"/>
			<xs:enumeration value="Install"/>
			<xs:enumeration value="Interleave"/>
			<xs:enumeration value="Join"/>
			<xs:enumeration value="Kill"/>
			<xs:enumeration value="Listen"/>
			<xs:enumeration value="Load"/>
			<xs:enumeration value="Lock"/>
			<xs:enumeration value="Login/Logon"/>
			<xs:enumeration value="Logout/Logoff"/>
			<xs:enumeration value="Map"/>
			<xs:enumeration value="Merge"/>
			<xs:enumeration value="Modify"/>
			<xs:enumeration value="Move"/>
			<xs:enumeration value="Pack"/>
			<xs:enumeration value="Press"/>
			<xs:enumeration value="Quarantine"/>
			<xs:enumeration value="Query"/>
			<xs:enumeration value="Queue"/>
			<xs:enumeration value="Read"/>
			<xs:enumeration value="Receive"/>
			<xs:enumeration value="Release"/>
			<xs:enumeration value="Remove/Delete"/>
			<xs:enumeration value="Replicate"/>
			<xs:enumeration value="Restore"/>
			<xs:enumeration value="Resume"/>
			<xs:enumeration value="Save"/>
			<xs:enumeration value="Scan"/>
			<xs:enumeration value="Schedule"/>
			<xs:enumeration value="Search"/>
			<xs:enumeration value="Send"/>
			<xs:enumeration value="Set"/>
			<xs:enumeration value="Snapshot"/>
			<xs:enumeration value="Start"/>
			<xs:enumeration value="Stop"/>
			<xs:enumeration value="Suspend/Pause"/>
			<xs:enumeration value="Synchronize"/>
			<xs:enumeration value="Throw/Raise"/>
			<xs:enumeration value="Transmit"/>
			<xs:enumeration value="Unhook"/>
			<xs:enumeration value="Unload"/>
			<xs:enumeration value="Unlock"/>
			<xs:enumeration value="Unmap"/>
			<xs:enumeration value="Unpack"/>
			<xs:enumeration value="Update"/>
			<xs:enumeration value="Upgrade"/>
			<xs:enumeration value="Upload"/>
			<xs:enumeration value="Wipe/Destroy/Purge"/>
			<xs:enumeration value="Write"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="ActionReferenceType">
		<xs:annotation>
			<xs:documentation>ActionReferenceType is intended to serve as a method for linking to actions.</xs:documentation>
		</xs:annotation>
		<xs:attribute name="action_id" use="required">
			<xs:annotation>
				<xs:documentation>The action_id attribute refers to the ID of the action being referenced.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:simpleType name="ActionContextTypeEnum">
		<xs:annotation>
			<xs:documentation>ActionContextTypeEnum is a (non-exhaustive) enumeration of cyber observable action contexts.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Host"/>
			<xs:enumeration value="Network"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="NetworkProtocolEnum">
		<xs:annotation>
			<xs:documentation>NetworkProtocolEnum is a (non-exhaustive) enumeration of network protocols.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="TCP/IP"/>
			<xs:enumeration value="UDP"/>
			<xs:enumeration value="DNS"/>
			<xs:enumeration value="TELNET"/>
			<xs:enumeration value="HTTP"/>
			<xs:enumeration value="FTP"/>
			<xs:enumeration value="IRC"/>
			<xs:enumeration value="IDENT"/>
			<xs:enumeration value="POP"/>
			<xs:enumeration value="IMAP"/>
			<xs:enumeration value="SMB"/>
			<xs:enumeration value="ARP"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="DefinedActionNameEnum">
		<xs:annotation>
			<xs:documentation>The DefinedActionNameEnum type is an enumeration of defined action names.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Accept Socket Connection"/>
			<xs:enumeration value="Add Scheduled Task"/>
			<xs:enumeration value="Allocate Virtual Memory"/>
			<xs:enumeration value="Bind Address to Socket"/>
			<xs:enumeration value="Change Service Configuration"/>
			<xs:enumeration value="Check For Remote Debugger"/>
			<xs:enumeration value="Close Registry Key"/>
			<xs:enumeration value="Close Socket"/>
			<xs:enumeration value="Configure Service"/>
			<xs:enumeration value="Connect to Named Pipe"/>
			<xs:enumeration value="Connect to Socket"/>
			<xs:enumeration value="Control Driver"/>
			<xs:enumeration value="Control Service"/>
			<xs:enumeration value="Copy File"/>
			<xs:enumeration value="Create Dialog Box"/>
			<xs:enumeration value="Create Event"/>
			<xs:enumeration value="Create File"/>
			<xs:enumeration value="Create Mailslot"/>
			<xs:enumeration value="Create Mutex"/>
			<xs:enumeration value="Create Named Pipe"/>
			<xs:enumeration value="Create Process"/>
			<xs:enumeration value="Create Process as User"/>
			<xs:enumeration value="Create Registry Key"/>
			<xs:enumeration value="Create Remote Thread"/>
			<xs:enumeration value="Create Service"/>
			<xs:enumeration value="Create Socket"/>
			<xs:enumeration value="Create Thread"/>
			<xs:enumeration value="Create Window"/>
			<xs:enumeration value="Delete File"/>
			<xs:enumeration value="Delete Registry Key"/>
			<xs:enumeration value="Delete Registry Key Value"/>
			<xs:enumeration value="Delete Service"/>
			<xs:enumeration value="Disconnect from Named Pipe"/>
			<xs:enumeration value="Disconnect from Socket"/>
			<xs:enumeration value="Enumerate Protocols"/>
			<xs:enumeration value="Enumerate Registry Key Subkeys"/>
			<xs:enumeration value="Enumerate Registry Key Values"/>
			<xs:enumeration value="Enumerate Services"/>
			<xs:enumeration value="Enumerate Threads"/>
			<xs:enumeration value="Enumerate Windows"/>
			<xs:enumeration value="Find File"/>
			<xs:enumeration value="Find Window"/>
			<xs:enumeration value="Flush Process Instruction Cache"/>
			<xs:enumeration value="Free Library"/>
			<xs:enumeration value="Free Virtual Memory"/>
			<xs:enumeration value="Get Disk Free Space"/>
			<xs:enumeration value="Get Disk Type"/>
			<xs:enumeration value="Get Elapsed System Up Time"/>
			<xs:enumeration value="Get File Attributes"/>
			<xs:enumeration value="Get Function Address"/>
			<xs:enumeration value="Get Host By Address"/>
			<xs:enumeration value="Get Host By Name"/>
			<xs:enumeration value="Get Host Name"/>
			<xs:enumeration value="Get Library File Name"/>
			<xs:enumeration value="Get Library Handle"/>
			<xs:enumeration value="Get NetBIOS Name"/>
			<xs:enumeration value="Get Process Current Directory"/>
			<xs:enumeration value="Get Process Environment Variable"/>
			<xs:enumeration value="Get Process Startup Information"/>
			<xs:enumeration value="Get Processes Snapshot"/>
			<xs:enumeration value="Get Service Status"/>
			<xs:enumeration value="Get System Host Name"/>
			<xs:enumeration value="Get System Network Parameters"/>
			<xs:enumeration value="Get System Time"/>
			<xs:enumeration value="Get Thread Context"/>
			<xs:enumeration value="Get Thread Username"/>
			<xs:enumeration value="Get Windows Directory"/>
			<xs:enumeration value="Get Windows System Directory"/>
			<xs:enumeration value="Get Windows Temporary Files Directory"/>
			<xs:enumeration value="Kill Process"/>
			<xs:enumeration value="Kill Thread"/>
			<xs:enumeration value="Kill Window"/>
			<xs:enumeration value="Listen on Socket"/>
			<xs:enumeration value="Load Driver"/>
			<xs:enumeration value="Load Library"/>
			<xs:enumeration value="Lock File"/>
			<xs:enumeration value="Map File"/>
			<xs:enumeration value="Monitor Registry Key"/>
			<xs:enumeration value="Move File"/>
			<xs:enumeration value="Open File"/>
			<xs:enumeration value="Open Mutex"/>
			<xs:enumeration value="Open Process"/>
			<xs:enumeration value="Open Registry Key"/>
			<xs:enumeration value="Open Service"/>
			<xs:enumeration value="Open Service Control Manager"/>
			<xs:enumeration value="Query Disk Attributes"/>
			<xs:enumeration value="Queue APC in Thread"/>
			<xs:enumeration value="Read File"/>
			<xs:enumeration value="Read from Process"/>
			<xs:enumeration value="Read Registry Key Value"/>
			<xs:enumeration value="Receive Data from Socket"/>
			<xs:enumeration value="Release Mutex"/>
			<xs:enumeration value="Send Data on Socket"/>
			<xs:enumeration value="Send Data to Address on Socket"/>
			<xs:enumeration value="Set File Attributes"/>
			<xs:enumeration value="Set NetBIOS Name"/>
			<xs:enumeration value="Set Process Current Directory"/>
			<xs:enumeration value="Set Process Environment Variable"/>
			<xs:enumeration value="Set System Host Name"/>
			<xs:enumeration value="Set System Time"/>
			<xs:enumeration value="Set Thread Context"/>
			<xs:enumeration value="Show Window"/>
			<xs:enumeration value="Start Service"/>
			<xs:enumeration value="Unlock File"/>
			<xs:enumeration value="Unmap File"/>
			<xs:enumeration value="Write Registry Key Value"/>
			<xs:enumeration value="Write to File"/>
			<xs:enumeration value="Write to Process"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="DefinedArgumentNameEnum">
		<xs:annotation>
			<xs:documentation>The DefinedArgumentNameEnum type is an enumeration of defined argument names.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="API"/>
			<xs:enumeration value="Creation Flags"/>
			<xs:enumeration value="Access Mode"/>
			<xs:enumeration value="Share Mode"/>
			<xs:enumeration value="Callback Address"/>
			<xs:enumeration value="Source Address"/>
			<xs:enumeration value="Destination Addresss"/>
			<xs:enumeration value="Starting Address"/>
			<xs:enumeration value="Size (bytes)"/>
			<xs:enumeration value="Control Parameter"/>
			<xs:enumeration value="Host Name"/>
			<xs:enumeration value="Function Name"/>
			<xs:enumeration value="Function Address"/>
			<xs:enumeration value="Options"/>
			<xs:enumeration value="Transfer Flags"/>
			<xs:enumeration value="Control Code"/>
			<xs:enumeration value="APC Mode"/>
			<xs:enumeration value="APC Address"/>
			<xs:enumeration value="Base Address"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="AssociatedObjectType">
		<xs:annotation>
			<xs:documentation>The AssociatedObjectType is a complex type representing the characterization of a cyber observable Object associated with a given cyber observable Action.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="cybox:ObjectType">
				<xs:sequence>
					<xs:element name="Action-Pertinent_Object_Attributes" minOccurs="0">
						<xs:annotation>
							<xs:documentation>The Action-Pertinent_Object_Attributes element is optional and identifies which of the Attributes of this Object are specifically pertinent to this Action.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Attribute" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>The Attribute element identifies a single Object Attribute that is specifically pertinent to this Action.</xs:documentation>
									</xs:annotation>
									<xs:complexType>
										<xs:attribute name="Name" type="xs:string">
											<xs:annotation>
												<xs:documentation>The Name attribute specifies the field name for the pertinent Object Attribute.</xs:documentation>
											</xs:annotation>
										</xs:attribute>
										<xs:attribute name="XPath" type="xs:string">
											<xs:annotation>
												<xs:documentation>The XPath attribute specifies the XPath expression identifying the pertinent attribute within the Defined_Object schema for this object type.</xs:documentation>
											</xs:annotation>
										</xs:attribute>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
				<xs:attribute name="AssociationType">
					<xs:annotation>
						<xs:documentation>The AssociationType attribute specifies the kind of association this Object holds for this Action.</xs:documentation>
					</xs:annotation>
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="Initiating"/>
							<xs:enumeration value="Affected"/>
							<xs:enumeration value="Utilized"/>
							<xs:enumeration value="Returned"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ActionRelationshipType">
		<xs:annotation>
			<xs:documentation>The ActionRelationshipType is a complex type characterizing a relationship between a specified cyber observable action and another cyber observable action.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Action_Reference" type="cybox:ActionReferenceType" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>The Action_Reference element captures references to other Actions.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="Type">
			<xs:annotation>
				<xs:documentation>The type attribute describes the nature of the relationship between this Action and the related Action. </xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="cybox:RelationshipTypeEnum">
					<xs:enumeration value="Preceded_By"/>
					<xs:enumeration value="Followed_By"/>
					<xs:enumeration value="Related_To"/>
					<xs:enumeration value="Dependent_On"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	<xs:simpleType name="RelationshipTypeEnum">
		<xs:annotation>
			<xs:documentation>RelationshipTypeEnum is a (non-exhaustive) enumeration of types of relationships between cyber observable elements.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Parent_Of"/>
			<xs:enumeration value="Child_Of"/>
			<xs:enumeration value="Preceded_By"/>
			<xs:enumeration value="Followed_By"/>
			<xs:enumeration value="Downloaded_From"/>
			<xs:enumeration value="Related_To"/>
			<xs:enumeration value="Dropped_By"/>
			<xs:enumeration value="Contained_Within"/>
			<xs:enumeration value="Installed_By"/>
			<xs:enumeration value="Dependent_On"/>
			<xs:enumeration value="Resolves_To"/>
		</xs:restriction>
	</xs:simpleType>
	<!---->
	<xs:element name="Object" type="cybox:ObjectType">
		<xs:annotation>
			<xs:documentation>The Object element identifies and specificies the characteristics of a specific cyber-relevant object (e.g. a file, a registry key or a process). </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="ObjectType">
		<xs:annotation>
			<xs:documentation>The ObjectType is a complex type representing the characteristics of a specific cyber-relevant object (e.g. a file, a registry key or a process). </xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Defined_Object" type="cybox:DefinedObjectType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Defined_Object element is an abstract placeholder for various predefined Object type schemas (e.g. File, Process or System) that can be instantiated  in its place through extension of the DefinedObjectType. This mechanism enables the specification of a broad range of Object types with consistent Object Attribute naming and structure. The set of Defined_Object schemas are maintained independent of the core CybOX schema.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Custom_Attributes" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Custom_Attributes element is optional and enables the specification of a set of custom Object Attributes that may not be defined in existing Defined_Object schemas. </xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="cybox:Attribute" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>The Attribute element enables the specification of a single Object Attribute.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Related_Objects" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Related_Objects element is optional and enables the identification and/or specification of Objects with relevant relationships with this Object.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Related_Object" type="cybox:RelatedObjectType" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>The Related_Object element is optional and enables the identification and/or specification of a single Object with a relevant relationship with this Object.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Defined_Effect" type="cybox:DefinedEffectType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Defined_Effect element is an abstract placeholder for various predefined Object Effect types (e.g. DataReadEffect, ValuesEnumeratedEffect or StateChangeEffect) that can be instantiated  in its place through extension of the DefinedEffectType. This mechanism enables the specification of a broad range of types of potential complex action effects on Objects. The set of Defined_Effect types (extending the DefeinedEffectType) are maintained as part of the core CybOX schema.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Discovery_Method" type="cybox:MeasureSourceType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Discovery_Method  element is optional and enables descriptive specification of how this Object was observed (in the case of a Cyber Observable Object instance) or could potentially be observed (in the case of a Cyber Observable Object pattern). </xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="ID" type="xs:ID">
			<xs:annotation>
				<xs:documentation>The ID attribute specifies a unique ID for this Object.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="IDREF" type="xs:IDREF">
			<xs:annotation>
				<xs:documentation>The IDREF attribute specifies reference to a unique ID for this Object.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="Type" type="cybox:ObjectTypeEnum">
			<xs:annotation>
				<xs:documentation>The Type attribute specifies what kind of object this is.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="Object_State" type="cybox:ObjectStateTypeEnum">
			<xs:annotation>
				<xs:documentation>The Object_State attribute enables description of the current state of the object.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:anyAttribute namespace="##other" processContents="lax">
			<xs:annotation>
				<xs:documentation>The "any" attribute enables the capture of custom attributes describing this Object. </xs:documentation>
			</xs:annotation>
		</xs:anyAttribute>
	</xs:complexType>
	<xs:simpleType name="ObjectTypeEnum">
		<xs:annotation>
			<xs:documentation>ObjectTypeEnum is a (non-exhaustive) enumeration of cyber observable object types.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="File"/>
			<xs:enumeration value="Directory"/>
			<xs:enumeration value="Module"/>
			<xs:enumeration value="Packet"/>
			<xs:enumeration value="Key/Key Group"/>
			<xs:enumeration value="Hive"/>
			<xs:enumeration value="Process"/>
			<xs:enumeration value="Thread"/>
			<xs:enumeration value="Mutex"/>
			<xs:enumeration value="Event"/>
			<xs:enumeration value="Service/Daemon"/>
			<xs:enumeration value="Library"/>
			<xs:enumeration value="Package"/>
			<xs:enumeration value="Pipe"/>
			<xs:enumeration value="Socket"/>
			<xs:enumeration value="IP Address"/>
			<xs:enumeration value="Port"/>
			<xs:enumeration value="Protocol"/>
			<xs:enumeration value="AS"/>
			<xs:enumeration value="URI"/>
			<xs:enumeration value="Host"/>
			<xs:enumeration value="Session"/>
			<xs:enumeration value="Session Token"/>
			<xs:enumeration value="Account"/>
			<xs:enumeration value="Device (physical)"/>
			<xs:enumeration value="Handle"/>
			<xs:enumeration value="Heap"/>
			<xs:enumeration value="Memory Address"/>
			<xs:enumeration value="Memory Page"/>
			<xs:enumeration value="Window"/>
			<xs:enumeration value="Dialog"/>
			<xs:enumeration value="Parameter"/>
			<xs:enumeration value="Authentication Token"/>
			<xs:enumeration value="Encryption Token"/>
			<xs:enumeration value="Web Query"/>
			<xs:enumeration value="Protocol Header"/>
			<xs:enumeration value="Protocol Field"/>
			<xs:enumeration value="Link"/>
			<xs:enumeration value="SQL Query"/>
			<xs:enumeration value="Database"/>
			<xs:enumeration value="ACL"/>
			<xs:enumeration value="Role"/>
			<xs:enumeration value="System"/>
			<xs:enumeration value="VM"/>
			<xs:enumeration value="Signature"/>
			<xs:enumeration value="Channel"/>
			<xs:enumeration value="API Call"/>
			<xs:enumeration value="Environment Variable"/>
			<xs:enumeration value="Application"/>
			<xs:enumeration value="Network"/>
			<xs:enumeration value="Configuration"/>
			<xs:enumeration value="Policy"/>
			<xs:enumeration value="Task"/>
			<xs:enumeration value="Malware"/>
			<xs:enumeration value="Message"/>
			<xs:enumeration value="Email Message"/>
			<xs:enumeration value="Media"/>
			<xs:enumeration value="Operating System"/>
			<xs:enumeration value="Query"/>
			<xs:enumeration value="Domain"/>
			<xs:enumeration value="Event"/>
			<xs:enumeration value="Critical Section"/>
			<xs:enumeration value="Mailslot"/>
			<xs:enumeration value="NamedPipe"/>
			<xs:enumeration value="Semaphore"/>
			<xs:enumeration value="WaitableTimer"/>
			<xs:enumeration value="Volume"/>
			<xs:enumeration value="Disk"/>
			<xs:enumeration value="DiskPartition"/>
			<xs:enumeration value="Other"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ObjectStateTypeEnum">
		<xs:annotation>
			<xs:documentation>ObjectStateTypeEnum is a (non-exhaustive) enumeration of cyber observable object states.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Exists"/>
			<xs:enumeration value="Does Not Exist"/>
			<xs:enumeration value="Open"/>
			<xs:enumeration value="Closed"/>
			<xs:enumeration value="Active"/>
			<xs:enumeration value="Inactive"/>
			<xs:enumeration value="Locked"/>
			<xs:enumeration value="Unlocked"/>
			<xs:enumeration value="Started"/>
			<xs:enumeration value="Stopped"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="DefinedObjectType" abstract="true">
		<xs:anyAttribute namespace="##other" processContents="lax">
			<xs:annotation>
				<xs:documentation>The "any" attribute enables the capture of custom attributes describing this Defined Object specification. </xs:documentation>
			</xs:annotation>
		</xs:anyAttribute>
	</xs:complexType>
	<xs:complexType name="RelatedObjectType">
		<xs:complexContent>
			<xs:extension base="cybox:ObjectType">
				<xs:attribute name="Relationship">
					<xs:annotation>
						<xs:documentation>The Relationship attribute specifies the nature of the relationship between this Object and the Related_Object.</xs:documentation>
					</xs:annotation>
					<xs:simpleType>
						<xs:restriction base="cybox:ObjectRelationshipEnum"/>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:simpleType name="ObjectRelationshipEnum">
		<xs:annotation>
			<xs:documentation>ObjectRelationshipEnum is a (non-exhaustive) enumeration of interobject relationships.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Created_By"/>
			<xs:enumeration value="Deleted_By"/>
			<xs:enumeration value="Properties_Modified_By"/>
			<xs:enumeration value="Read_From"/>
			<xs:enumeration value="Read_From_By"/>
			<xs:enumeration value="Written_To_By"/>
			<xs:enumeration value="Downloaded_From"/>
			<xs:enumeration value="Downloaded_To"/>
			<xs:enumeration value="Downloaded_By"/>
			<xs:enumeration value="Uploaded_To"/>
			<xs:enumeration value="Uploaded_By"/>
			<xs:enumeration value="Suspended_By"/>
			<xs:enumeration value="Paused_By"/>
			<xs:enumeration value="Resumed_By"/>
			<xs:enumeration value="Opened_By"/>
			<xs:enumeration value="Closed_By"/>
			<xs:enumeration value="Copied_From"/>
			<xs:enumeration value="Copied_To"/>
			<xs:enumeration value="Copied_By"/>
			<xs:enumeration value="Moved_From"/>
			<xs:enumeration value="Moved_To"/>
			<xs:enumeration value="Moved_By"/>
			<xs:enumeration value="Searched_For"/>
			<xs:enumeration value="Searched_For_By"/>
			<xs:enumeration value="Allocated_By"/>
			<xs:enumeration value="Initialized_To"/>
			<xs:enumeration value="Initialized_By"/>
			<xs:enumeration value="Sent_To"/>
			<xs:enumeration value="Sent_From"/>
			<xs:enumeration value="Sent_By"/>
			<xs:enumeration value="Received_From"/>
			<xs:enumeration value="Received_By"/>
			<xs:enumeration value="Mapped_Into"/>
			<xs:enumeration value="Mapped_By"/>
			<xs:enumeration value="Properties_Queried"/>
			<xs:enumeration value="Properties_Queried_By"/>
			<xs:enumeration value="Values_Enumerated"/>
			<xs:enumeration value="Values_Enumerated_By"/>
			<xs:enumeration value="Bound_By"/>
			<xs:enumeration value="Freed_By"/>
			<xs:enumeration value="Killed_By"/>
			<xs:enumeration value="Encrypted_By"/>
			<xs:enumeration value="Encrypted_To"/>
			<xs:enumeration value="Decrypted_By"/>
			<xs:enumeration value="Decrypted_To"/>
			<xs:enumeration value="Unpacked_By"/>
			<xs:enumeration value="Packed_By"/>
			<xs:enumeration value="Encoded_By"/>
			<xs:enumeration value="Decoded_By"/>
			<xs:enumeration value="Compressed_Into"/>
			<xs:enumeration value="Compressed_By"/>
			<xs:enumeration value="Decompressed_Into"/>
			<xs:enumeration value="Decompressed_By"/>
			<xs:enumeration value="Joined_By"/>
			<xs:enumeration value="Joined_Into"/>
			<xs:enumeration value="Merged_Into"/>
			<xs:enumeration value="Merged_By"/>
			<xs:enumeration value="Locked_By"/>
			<xs:enumeration value="Unlocked_By"/>
			<xs:enumeration value="Hooked_By"/>
			<xs:enumeration value="Unhooked_By"/>
			<xs:enumeration value="Monitored_By"/>
			<xs:enumeration value="Listened_On"/>
			<xs:enumeration value="Listened_On_By"/>
			<xs:enumeration value="Renamed_From"/>
			<xs:enumeration value="Renamed_To"/>
			<xs:enumeration value="Renamed_By"/>
			<xs:enumeration value="Injected_Into"/>
			<xs:enumeration value="Injected_As"/>
			<xs:enumeration value="Injected_By"/>
			<xs:enumeration value="Deleted_From"/>
			<xs:enumeration value="Loaded_Into"/>
			<xs:enumeration value="Loaded_From"/>
			<xs:enumeration value="Set_To"/>
			<xs:enumeration value="Resolved_To"/>
			<xs:enumeration value="Parent_Of"/>
			<xs:enumeration value="Child_Of"/>
			<xs:enumeration value="Related_To"/>
			<xs:enumeration value="Dropped_By"/>
			<xs:enumeration value="Contained_Within"/>
			<xs:enumeration value="Installed_By"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="DefinedEffectType" abstract="true">
		<xs:attribute name="EffectType" type="cybox:EffectTypeEnum">
			<xs:annotation>
				<xs:documentation>The EffectTye attribute specifies the nature of the Defined Effect instantiated in the place of the Defined_Effect element. </xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:simpleType name="EffectTypeEnum">
		<xs:annotation>
			<xs:documentation>EffectTypeEnum is a (non-exhaustive) enumeration of effect types.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="State_Changed"/>
			<xs:enumeration value="Data_Read"/>
			<xs:enumeration value="Data_Written"/>
			<xs:enumeration value="Data_Sent"/>
			<xs:enumeration value="Data_Received"/>
			<xs:enumeration value="Properties_Read"/>
			<xs:enumeration value="Properties_Enumerated"/>
			<xs:enumeration value="Values_Enumerated"/>
			<xs:enumeration value="ControlCode_Sent"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="StateChangeEffectType">
		<xs:annotation>
			<xs:documentation>The StateChangeEffectType is intended as a generic way of characterizing the effects of actions upon objects where the some state of the object is changed. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="cybox:DefinedEffectType">
				<xs:sequence>
					<xs:element name="Old_State" minOccurs="0">
						<xs:annotation>
							<xs:documentation>The Old_State element specifies the object and its attributes as they were before the state change effect occurred.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:choice>
								<xs:element name="Object" type="cybox:ObjectType"/>
								<xs:element name="Defined_Object" type="cybox:DefinedObjectType"/>
								<xs:element name="Object_IDRef" type="xs:IDREF"/>
							</xs:choice>
						</xs:complexType>
					</xs:element>
					<xs:element name="New_State">
						<xs:annotation>
							<xs:documentation>The New_State element specifies the object and its attributes as they are after the state change effect occurred.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:choice>
								<xs:element name="Object" type="cybox:ObjectType"/>
								<xs:element name="Defined_Object" type="cybox:DefinedObjectType"/>
								<xs:element name="Object_IDRef" type="xs:IDREF"/>
							</xs:choice>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="DataReadEffectType">
		<xs:annotation>
			<xs:documentation>The DataReadEffectType type is intended to characterize the effects of actions upon objects where some data is read, such as from a file or a pipe.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="cybox:DefinedEffectType">
				<xs:sequence>
					<xs:element name="Data" type="cybox:DataType">
						<xs:annotation>
							<xs:documentation>The Data element specifies the data that was read from the object by the action.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="DataWrittenEffectType">
		<xs:annotation>
			<xs:documentation>The DataWrittenEffectType type is intended to characterize the effects of actions upon objects where some data is written, such as to a file or a pipe.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="cybox:DefinedEffectType">
				<xs:sequence>
					<xs:element name="Data" type="cybox:DataType">
						<xs:annotation>
							<xs:documentation>The Data element specifies the data that was written to the object by the action.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="DataSentEffectType">
		<xs:annotation>
			<xs:documentation>The DataSentEffectType type is intended to characterize the effects of actions upon objects where some data is sent, such as a byte sequence on a socket.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="cybox:DefinedEffectType">
				<xs:sequence>
					<xs:element name="Data" type="cybox:DataType">
						<xs:annotation>
							<xs:documentation>The Data element specifies the data that was sent on the object, or from the object, by the action.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="DataReceivedEffectType">
		<xs:annotation>
			<xs:documentation>The DataReceivedEffectType type is intended to characterize the effects of actions upon objects where some data is received, such as a byte sequence on a socket.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="cybox:DefinedEffectType">
				<xs:sequence>
					<xs:element name="Data" type="cybox:DataType">
						<xs:annotation>
							<xs:documentation>The Data element specifies the data that was received on the object, or from the object, by the action.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ValuesEnumeratedEffectType">
		<xs:annotation>
			<xs:documentation>The ValuesEnumeratedEffectType type is intended to characterize the effects of actions upon objects where some values of the object are enumerated, such as the values of a registry key.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="cybox:DefinedEffectType">
				<xs:sequence>
					<xs:element name="Values">
						<xs:annotation>
							<xs:documentation>The Values element specifies the values that were enumerated as a result of the action on the object.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Value" type="xs:string" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PropertiesEnumeratedEffectType">
		<xs:annotation>
			<xs:documentation>The PropertiesEnumeratedEffectType type is intended to characterize the effects of actions upon objects where some properties of the object are enumerated, such as the startup parameters for a process.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="cybox:DefinedEffectType">
				<xs:sequence>
					<xs:element name="Properties">
						<xs:annotation>
							<xs:documentation>The Properties element specifies the properties that were enumerated as a result of the action on the object.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Property" type="xs:string" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PropertyReadEffectType">
		<xs:annotation>
			<xs:documentation>The PropertyReadEffectType type is intended to characterize the effects of actions upon objects where some specific property is read from an object, such as the current running state of a process.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="cybox:DefinedEffectType">
				<xs:sequence>
					<xs:element name="Name" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation>The Name element specifies the Name of the property being read.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Value" type="xs:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation>The Value element specifies the value of the property being read.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SendControlCodeEffectType">
		<xs:annotation>
			<xs:documentation>The SendControlCodeEffectType is intended to characterize the effects of actions upon objects where some control code, or other control-oriented communication signal, is sent to the object. For example, an action may send a control code to change the running state of a process.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="cybox:DefinedEffectType">
				<xs:sequence>
					<xs:element name="Control_Code" type="xs:string">
						<xs:annotation>
							<xs:documentation>The Control_Code element specifies the actual control code that was sent to the object.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<!---->
	<xs:element name="Attribute" type="cybox:AttributeType">
		<xs:annotation>
			<xs:documentation>The Attribute element enables the specification of a single Object Attribute.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="AttributeType">
		<xs:annotation>
			<xs:documentation>The AttibuteType is a complext type representing the specification of a single Object Attribute.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="cybox:BaseObjectAttributeType">
				<xs:attribute name="Name"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:simpleType name="AttributeTypeEnum">
		<xs:annotation>
			<xs:documentation>AttributeTypeEnum is a (non-exhaustive) enumeration of attribute types.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="String"/>
			<xs:enumeration value="Int"/>
			<xs:enumeration value="Float"/>
			<xs:enumeration value="IPv4 Address"/>
			<xs:enumeration value="IPv6 Address"/>
			<xs:enumeration value="Host Name"/>
			<xs:enumeration value="MAC Address"/>
			<xs:enumeration value="Domain Name"/>
			<xs:enumeration value="Path"/>
			<xs:enumeration value="URI"/>
			<xs:enumeration value="Date"/>
			<xs:enumeration value="DateTime"/>
			<xs:enumeration value="Boolean"/>
			<xs:enumeration value="Duration"/>
			<xs:enumeration value="TimeZone"/>
			<xs:enumeration value="Hex"/>
			<xs:enumeration value="Octal"/>
			<xs:enumeration value="Binary"/>
			<xs:enumeration value="Subnet Mask"/>
			<xs:enumeration value="UUID/GUID"/>
			<xs:enumeration value="Collections"/>
			<xs:enumeration value="CVE#"/>
			<xs:enumeration value="CWE#"/>
			<xs:enumeration value="CAPEC#"/>
			<xs:enumeration value="CCE#"/>
			<xs:enumeration value="CPE#"/>
			<xs:enumeration value="Complex"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="BaseObjectAttributeType" abstract="true">
		<xs:annotation>
			<xs:documentation>The BaseObjectAttibuteType is a complex type representing a common typing foundation for the specification of a single Object Attribute.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:anySimpleType">
				<xs:attributeGroup ref="cybox:ObjectAttributeGroup"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="IntObjectAttributeType">
		<xs:annotation>
			<xs:documentation>The IntObjectAttributeType is a complex type (extended from BaseObjectAttributeType) representing the specification of a single Object attribute whose core value is of type Int.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="cybox:BaseObjectAttributeType">
				<xs:simpleType>
					<xs:union memberTypes="xs:int cybox:EmptyStringType"/>
				</xs:simpleType>
				<xs:attribute name="Datatype" type="cybox:DatatypeEnum" use="required" fixed="Int">
					<xs:annotation>
						<xs:documentation>This attribute is optional and specifies the expected type for the value of the specified element.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="StringObjectAttributeType">
		<xs:annotation>
			<xs:documentation>The StringObjectAttributeType is a complex type (extended from BaseObjectAttributeType) representing the specification of a single Object attribute whose core value is of type String.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="cybox:BaseObjectAttributeType">
				<xs:simpleType>
					<xs:restriction base="xs:string"/>
				</xs:simpleType>
				<xs:attribute name="Datatype" type="cybox:DatatypeEnum" use="required" fixed="String">
					<xs:annotation>
						<xs:documentation>This attribute is optional and specifies the expected type for the value of the specified element.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="NameObjectAttributeType">
		<xs:annotation>
			<xs:documentation>The NameObjectAttributeType is a complex type (extended from BaseObjectAttributeType) representing the specification of a single Object attribute whose core value is of type Name.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="cybox:BaseObjectAttributeType">
				<xs:simpleType>
					<xs:restriction base="xs:Name"/>
				</xs:simpleType>
				<xs:attribute name="Datatype" type="cybox:DatatypeEnum" use="required" fixed="Name">
					<xs:annotation>
						<xs:documentation>This attribute is optional and specifies the expected type for the value of the specified element.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="DateObjectAttributeType">
		<xs:annotation>
			<xs:documentation>The DateObjectAttributeType is a complex type (extended from BaseObjectAttributeType) representing the specification of a single Object attribute whose core value is of type Date.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="cybox:BaseObjectAttributeType">
				<xs:simpleType>
					<xs:restriction base="xs:date"/>
				</xs:simpleType>
				<xs:attribute name="Datatype" type="cybox:DatatypeEnum" use="required" fixed="Date">
					<xs:annotation>
						<xs:documentation>This attribute is optional and specifies the expected type for the value of the specified element.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="DateTimeObjectAttributeType">
		<xs:annotation>
			<xs:documentation>The DateTimeObjectAttributeType is a complex type (extended from BaseObjectAttributeType) representing the specification of a single Object attribute whose core value is of type DateTime.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="cybox:BaseObjectAttributeType">
				<xs:simpleType>
					<xs:restriction base="xs:dateTime"/>
				</xs:simpleType>
				<xs:attribute name="Datatype" type="cybox:DatatypeEnum" use="required" fixed="DateTime">
					<xs:annotation>
						<xs:documentation>This attribute is optional and specifies the expected type for the value of the specified element.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="FloatObjectAttributeType">
		<xs:annotation>
			<xs:documentation>The FloatObjectAttributeType is a complex type (extended from BaseObjectAttributeType) representing the specification of a single Object attribute whose core value is of type Float.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="cybox:BaseObjectAttributeType">
				<xs:simpleType>
					<xs:union memberTypes="xs:float cybox:EmptyStringType"/>
				</xs:simpleType>
				<xs:attribute name="Datatype" type="cybox:DatatypeEnum" use="required" fixed="Float">
					<xs:annotation>
						<xs:documentation>This attribute is optional and specifies the expected type for the value of the specified element.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="DoubleObjectAttributeType">
		<xs:annotation>
			<xs:documentation>The DoubleObjectAttributeType is a complex type (extended from BaseObjectAttributeType) representing the specification of a single Object attribute whose core value is of type Double.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="cybox:BaseObjectAttributeType">
				<xs:simpleType>
					<xs:union memberTypes="xs:double cybox:EmptyStringType"/>
				</xs:simpleType>
				<xs:attribute name="Datatype" type="cybox:DatatypeEnum" use="required" fixed="Double">
					<xs:annotation>
						<xs:documentation>This attribute is optional and specifies the expected type for the value of the specified element.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="UnsignedLongObjectAttributeType">
		<xs:annotation>
			<xs:documentation>The UnsignedLongObjectAttributeType is a complex type (extended from BaseObjectAttributeType) representing the specification of a single Object attribute whose core value is of type UnsignedLong.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="cybox:BaseObjectAttributeType">
				<xs:simpleType>
					<xs:union memberTypes="xs:unsignedLong cybox:EmptyStringType"/>
				</xs:simpleType>
				<xs:attribute name="Datatype" type="cybox:DatatypeEnum" use="required" fixed="UnsignedLong">
					<xs:annotation>
						<xs:documentation>This attribute is optional and specifies the expected type for the value of the specified element.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="UnsignedIntObjectAttributeType">
		<xs:annotation>
			<xs:documentation>The UnsignedIntObjectAttributeType is a complex type (extended from BaseObjectAttributeType) representing the specification of a single Object attribute whose core value is of type UnsignedInt.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="cybox:BaseObjectAttributeType">
				<xs:simpleType>
					<xs:union memberTypes="xs:unsignedInt cybox:EmptyStringType"/>
				</xs:simpleType>
				<xs:attribute name="Datatype" type="cybox:DatatypeEnum" use="required" fixed="UnsignedInt">
					<xs:annotation>
						<xs:documentation>This attribute is optional and specifies the expected type for the value of the specified element.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="PositiveIntegerObjectAttributeType">
		<xs:annotation>
			<xs:documentation>The PositiveIntegerObjectAttributeType is a complex type (extended from BaseObjectAttributeType) representing the specification of a single Object attribute whose core value is of type PositveInteger.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="cybox:BaseObjectAttributeType">
				<xs:simpleType>
					<xs:union memberTypes="xs:positiveInteger cybox:EmptyStringType"/>
				</xs:simpleType>
				<xs:attribute name="Datatype" type="cybox:DatatypeEnum" use="required" fixed="PositiveInteger">
					<xs:annotation>
						<xs:documentation>This attribute is optional and specifies the expected type for the value of the specified element.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="HexBinaryObjectAttributeType">
		<xs:annotation>
			<xs:documentation>The HexBinaryObjectAttributeType is a complex type (extended from BaseObjectAttributeType) representing the specification of a single Object attribute whose core value is of type hexBinary.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="cybox:BaseObjectAttributeType">
				<xs:simpleType>
					<xs:restriction base="xs:hexBinary"/>
				</xs:simpleType>
				<xs:attribute name="Datatype" type="cybox:DatatypeEnum" use="required" fixed="BinHex">
					<xs:annotation>
						<xs:documentation>This attribute is optional and specifies the expected type for the value of the specified element.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="LongObjectAttributeType">
		<xs:annotation>
			<xs:documentation>The LongObjectAttributeType is a complex type (extended from BaseObjectAttributeType) representing the specification of a single Object attribute whose core value is of type long.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="cybox:BaseObjectAttributeType">
				<xs:simpleType>
					<xs:union memberTypes="xs:long cybox:EmptyStringType"/>
				</xs:simpleType>
				<xs:attribute name="Datatype" type="cybox:DatatypeEnum" use="required" fixed="Long">
					<xs:annotation>
						<xs:documentation>This attribute is optional and specifies the expected type for the value of the specified element.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="NonNegativeIntegerObjectAttributeType">
		<xs:annotation>
			<xs:documentation>The NonNegativeIntegerObjectAttributeType is a complex type (extended from BaseObjectAttributeType) representing the specification of a single Object attribute whose core value is of type nonNegativeInteger.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="cybox:BaseObjectAttributeType">
				<xs:simpleType>
					<xs:union memberTypes="xs:nonNegativeInteger cybox:EmptyStringType"/>
				</xs:simpleType>
				<xs:attribute name="Datatype" type="cybox:DatatypeEnum" use="required" fixed="NonNegativeInteger">
					<xs:annotation>
						<xs:documentation>This attribute is optional and specifies the expected type for the value of the specified element.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="AnyURIObjectAttributeType">
		<xs:annotation>
			<xs:documentation>The AnyURIObjectAttributeType is a complex type (extended from BaseObjectAttributeType) representing the specification of a single Object attribute whose core value is of type anyURI.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="cybox:BaseObjectAttributeType">
				<xs:simpleType>
					<xs:restriction base="xs:anyURI"/>
				</xs:simpleType>
				<xs:attribute name="Datatype" type="cybox:DatatypeEnum" use="required" fixed="AnyURI">
					<xs:annotation>
						<xs:documentation>This attribute is optional and specifies the expected type for the value of the specified element.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="DurationObjectAttributeType">
		<xs:annotation>
			<xs:documentation>The DurationObjectAttributeType is a complex type (extended from BaseObjectAttributeType) representing the specification of a single Object attribute whose core value is of type duration.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="cybox:BaseObjectAttributeType">
				<xs:simpleType>
					<xs:restriction base="xs:duration"/>
				</xs:simpleType>
				<xs:attribute name="Datatype" type="cybox:DatatypeEnum" use="required" fixed="Duration">
					<xs:annotation>
						<xs:documentation>This attribute is optional and specifies the expected type for the value of the specified element.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="TimeObjectAttributeType">
		<xs:annotation>
			<xs:documentation>The TimeObjectAttributeType is a complex type (extended from BaseObjectAttributeType) representing the specification of a single Object attribute whose core value is of type time.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="cybox:BaseObjectAttributeType">
				<xs:simpleType>
					<xs:restriction base="xs:time"/>
				</xs:simpleType>
				<xs:attribute name="Datatype" type="cybox:DatatypeEnum" use="required" fixed="DateTime">
					<xs:annotation>
						<xs:documentation>This attribute is optional and specifies the expected type for the value of the specified element.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="Base64BinaryObjectAttributeType">
		<xs:annotation>
			<xs:documentation>The Base64BinaryObjectAttributeType is a complex type (extended from BaseObjectAttributeType) representing the specification of a single Object attribute whose core value is of type base64Binary.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="cybox:BaseObjectAttributeType">
				<xs:simpleType>
					<xs:restriction base="xs:base64Binary"/>
				</xs:simpleType>
				<xs:attribute name="Datatype" type="cybox:DatatypeEnum" use="required" fixed="Base64Binary">
					<xs:annotation>
						<xs:documentation>This attribute is optional and specifies the expected type for the value of the specified element.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:attributeGroup name="ObjectAttributeGroup">
		<xs:annotation>
			<xs:documentation>The ObjectAttributeGroup is a simple attribute group aggregating a set of attributes for Object Attributes.</xs:documentation>
		</xs:annotation>
		<xs:attribute name="ID" type="xs:ID">
			<xs:annotation>
				<xs:documentation>The ID attribute specifies a unique ID for this Object Attribute.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="IDREF" type="xs:IDREF">
			<xs:annotation>
				<xs:documentation>The IDREF attribute specifies a unique ID reference for this Object Attribute.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="Datatype" type="cybox:DatatypeEnum" default="String">
			<xs:annotation>
				<xs:documentation>This attribute is optional and specifies the expected type for the value of the specified element.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="Condition" type="cybox:ConditionTypeEnum">
			<xs:annotation>
				<xs:documentation>This attribute is optional and defines the relevant condition to apply to the value of this Object Attribute.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="PatternType" type="cybox:PatternTypeEnum">
			<xs:annotation>
				<xs:documentation>This attribute is optional and defines the type of pattern used if one is specified for the Object Attribute. This is applicable only if the Condition attribute is set to 'FitsPattern'. </xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="RegexSyntax" type="cybox:RegexSyntaxEnum">
			<xs:annotation>
				<xs:documentation>This attribute is optional and defines the syntax format used for a regular expression, if one is specified for the Object Attribute. This is applicable only if the Condition attribute is set to 'FitsPattern'.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="StartRange" type="cybox:RangeValueType" use="optional">
			<xs:annotation>
				<xs:documentation>This attribute is optional and defines the starting range for the element. This is applicable only if the Condition attribute is set to 'IsInRange' or 'IsNotInRange'.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="EndRange" type="cybox:RangeValueType">
			<xs:annotation>
				<xs:documentation>This attribute is optional and defines the ending range for the element. This is applicable only if the Condition attribute is set to 'IsInRange' or 'IsNotInRange'.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="ValueSet" type="xs:string">
			<xs:annotation>
				<xs:documentation>This attribute is optional and defines a set of values, using commas as delimiters, that the element may have. Ex: value1,value2,value3.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:attributeGroup>
	<xs:simpleType name="ConditionTypeEnum">
		<xs:annotation>
			<xs:documentation>ConditionTypeEnum is a (non-exhaustive) enumeration of condition types.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Equals"/>
			<xs:enumeration value="DoesNotEqual"/>
			<xs:enumeration value="Contains"/>
			<xs:enumeration value="DoesNotContain"/>
			<xs:enumeration value="StartsWith"/>
			<xs:enumeration value="EndsWith"/>
			<xs:enumeration value="GreaterThan"/>
			<xs:enumeration value="GreaterThanOrEqual"/>
			<xs:enumeration value="LessThan"/>
			<xs:enumeration value="LessThanOrEqual"/>
			<xs:enumeration value="IsInRange"/>
			<xs:enumeration value="IsNotInRange"/>
			<xs:enumeration value="IsInSet"/>
			<xs:enumeration value="IsNotInSet"/>
			<xs:enumeration value="FitsPattern"/>
			<xs:enumeration value="BitwiseAnd"/>
			<xs:enumeration value="BitwiseOr"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="DatatypeEnum">
		<xs:annotation>
			<xs:documentation>DataTypeEnum is a (non-exhaustive) enumeration of data types.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="String"/>
			<xs:enumeration value="Int"/>
			<xs:enumeration value="Float"/>
			<xs:enumeration value="IPv4 Address"/>
			<xs:enumeration value="IPv6 Address"/>
			<xs:enumeration value="Host Name"/>
			<xs:enumeration value="MAC Address"/>
			<xs:enumeration value="Domain Name"/>
			<xs:enumeration value="Path"/>
			<xs:enumeration value="URI"/>
			<xs:enumeration value="Date"/>
			<xs:enumeration value="PositiveInteger"/>
			<xs:enumeration value="UnsignedInt"/>
			<xs:enumeration value="DateTime"/>
			<xs:enumeration value="Boolean"/>
			<xs:enumeration value="Name"/>
			<xs:enumeration value="Long"/>
			<xs:enumeration value="UnsignedLong"/>
			<xs:enumeration value="Duration"/>
			<xs:enumeration value="Double"/>
			<xs:enumeration value="TimeZone"/>
			<xs:enumeration value="NonNegativeInteger"/>
			<xs:enumeration value="Hex"/>
			<xs:enumeration value="AnyURI"/>
			<xs:enumeration value="Octal"/>
			<xs:enumeration value="Binary"/>
			<xs:enumeration value="BinHex"/>
			<xs:enumeration value="Subnet Mask"/>
			<xs:enumeration value="UUID/GUID"/>
			<xs:enumeration value="Collections"/>
			<xs:enumeration value="CVE#"/>
			<xs:enumeration value="CWE#"/>
			<xs:enumeration value="CAPEC#"/>
			<xs:enumeration value="CCE#"/>
			<xs:enumeration value="CPE#"/>
			<xs:enumeration value="Complex"/>
			<xs:enumeration value="Base64Binary"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="EmptyStringType">
		<xs:annotation>
			<xs:documentation>The EmptyStringType simple type is a restriction of the built-in string simpleType. The only allowed string is the empty string with a length of zero. This type is used by certain elements to allow empty content when non-string data is accepted. </xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:maxLength value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="PatternTypeEnum">
		<xs:annotation>
			<xs:documentation>The PatternTypeEnum type is a non-exhaustive enumeration of potentially relevant pattern types.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Regex"/>
			<xs:enumeration value="Binary"/>
			<xs:enumeration value="XPath"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="RegexSyntaxEnum">
		<xs:annotation>
			<xs:documentation>The RegexSyntaxEnum type is a non-exhaustive enumeration of Regular Expression (Regex) syntaxes.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="POSIX BRE"/>
			<xs:enumeration value="POSIX ERE"/>
			<xs:enumeration value="Perl 5.x"/>
			<xs:enumeration value="JGSoft"/>
			<xs:enumeration value=".NET"/>
			<xs:enumeration value="Java"/>
			<xs:enumeration value="PCRE"/>
			<xs:enumeration value="ECMA"/>
			<xs:enumeration value="Python"/>
			<xs:enumeration value="Ruby"/>
			<xs:enumeration value="Tcl ARE"/>
			<xs:enumeration value="GNU BRE"/>
			<xs:enumeration value="GNU ERE"/>
			<xs:enumeration value="XML"/>
			<xs:enumeration value="XPath"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="RangeValueType">
		<xs:annotation>
			<xs:documentation>The RangeValueType simple type is a union of datatypes applicable for use in specifiying a value range.</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="xs:int xs:double xs:float xs:date xs:dateTime xs:long xs:unsignedLong xs:unsignedInt xs:nonNegativeInteger"/>
	</xs:simpleType>
	<!---->
	<xs:complexType name="MetadataType">
		<xs:sequence>
			<xs:element name="Value" type="xs:string" minOccurs="0"/>
			<xs:element name="SubDatum" type="cybox:MetadataType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="Type" type="xs:string"/>
	</xs:complexType>
	<xs:complexType name="StructuredTextType">
		<xs:annotation>
			<xs:documentation>The StructuredTextType is a complex type representing a generalized structure for capturing structured textual information such as descriptions of things.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:choice maxOccurs="unbounded">
				<xs:group ref="cybox:Structured_Text_Group"/>
				<xs:element ref="cybox:Block">
					<xs:annotation>
						<xs:documentation> Block is a Structured_Text element consisting of one of Text_Title, Text, Code_Example_Language, or Code followed by another Block element.	Structured_Text elements help define whitespace and text segments.</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:group name="Structured_Text_Group">
		<xs:sequence>
			<xs:choice>
				<xs:element name="Text_Title" type="xs:string" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation> Presentation Element: This element is used to definebold-faced title for a subsequent block of text. </xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="Text" type="xs:string" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation> Presentation Element: This element is used to define a paragraph of text. </xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="Code_Example_Language" type="cybox:LanguageType" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>Presentation Element: This element is used to identify the programming language being used in the following block of Code</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="Code" type="xs:string" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation> Presentation Element: This element is used to define a line of code. </xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="Images" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Image" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation> Presentation Element: This element is used to define an image. </xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence maxOccurs="unbounded">
										<xs:element name="Image_Location" type="xs:string">
											<xs:annotation>
												<xs:documentation>This element provides the location of the image file.</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="Image_Title" type="xs:string">
											<xs:annotation>
												<xs:documentation>This element provides a title for the image.</xs:documentation>
											</xs:annotation>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:choice>
		</xs:sequence>
	</xs:group>
	<xs:element name="Block">
		<xs:annotation>
			<xs:documentation> Block is a Structured_Text element consisting of one of Text_Title,
				Text, Code_Example_Language, or Code followed by another Block element.
				Structured_Text elements help define whitespace and text segments.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:choice maxOccurs="unbounded">
				<xs:group ref="cybox:Structured_Text_Group"/>
				<xs:element ref="cybox:Block">
					<xs:annotation>
						<xs:documentation> Block is a Structured_Text element consisting of one of Text_Title,Text, Code_Example_Language, or Code followed by another Block element. Structured_Text elements help define whitespace and text segments.</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:choice>
			<xs:attribute name="Block_Nature">
				<xs:annotation>
					<xs:documentation> This attribute identifies the nature of the content containedwithin the Block. </xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="Good_Code"/>
						<xs:enumeration value="Bad_Code"/>
						<xs:enumeration value="Mitigation_Code"/>
						<xs:enumeration value="Attack"/>
						<xs:enumeration value="Result"/>
						<xs:enumeration value="List"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="ReferenceListType">
		<xs:annotation>
			<xs:documentation>The References_List_Type contains one or more Reference elements, each
				of which provide further reading and insight into the item. This should be filled
				out as appropriate.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Reference" type="cybox:ReferenceType" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation> Each Reference subelement should provide a single source from which more information and deeper insight can be obtained, such as a research paper or an excerpt from a publication. Multiple Reference subelements can exist. The sole attribute of this element is the id. The id is optional and translates to a preceding footnote below the context notes if the author of the entry wants to cite a reference. Not all subelements need to be completed, since some are designed for web references and others are designed for book references. The fields Reference_Author and Reference_Title should be filled out for all references if possible. Reference_Section and Reference_Date can be included for either book references or online references. Reference_Edition, Reference_Publication, Reference_Publisher, and Reference_PubDate are intended for book references,
 however they can be included where appropriate for other types of references. Reference_Link is intended for web references, however it can be included for book references as well if applicable. </xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ReferenceType">
		<xs:annotation>
			<xs:documentation>The ReferenceType is a complex type representing a single reference to a source of information.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Reference_Description" type="cybox:StructuredTextType" minOccurs="0"/>
			<xs:element name="Reference_Author" type="xs:string" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation> This element identifies an individual author of the material being referenced. It is not required, but may be repeated sequentially in order to identify multiple authors for a single piece of material.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Reference_Title" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation> This element identifies the title of the material beingreferenced. It is not required if the material does not have a title.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Reference_Section" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation> This element is intended to provide a means of identifying the exact location of the material inside of the publication source, such as the relevant pages of a research paper, the appropriate chapters from a book, etc. This is useful for both book references and internet references.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Reference_Edition" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation> This element identifies the edition of the material being
 referenced in the event that multiple editions of the material exist. This will usually only be useful for book references. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Reference_Publication" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation> This element identifies the publication source of the reference material, if one exists. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Reference_Publisher" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation> This element identifies the publisher of the reference material, if one exists. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Reference_Date" type="xs:date" minOccurs="0">
				<xs:annotation>
					<xs:documentation> This element identifies the date when the reference was included in the entry. This provides the reader with a time line for when the material in the reference, usually the link, was valid. The date should be of the format YYYY-MM-DD. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Reference_PubDate" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation> This field describes the date when the reference was published YYYY. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Reference_Link" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation> This element should hold the URL for the material being referenced, if one exists. This should always be used for web references, and may optionally be used for book and other publication references.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="Reference_ID">
			<xs:annotation>
				<xs:documentation> The id attribute is optional and is used as a mechanism forciting text in the entry. If an id is provided, it is placed between brackets and precedes this reference and the matching id should be used inside of the text for the attack pattern itself where this reference is applicable. All reference ids assigned within an entry must be unique. </xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:simpleType name="LanguageType">
		<xs:annotation>
			<xs:documentation>The LanguageType is a simple type representing the specification of a relevant programming language.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="C"/>
			<xs:enumeration value="C++"/>
			<xs:enumeration value="C#"/>
			<xs:enumeration value="Java"/>
			<xs:enumeration value="JSP"/>
			<xs:enumeration value="Javascript"/>
			<xs:enumeration value="ASP.NET"/>
			<xs:enumeration value="SQL"/>
			<xs:enumeration value="Python"/>
			<xs:enumeration value="Perl"/>
			<xs:enumeration value="PHP"/>
			<xs:enumeration value="SOAP"/>
			<xs:enumeration value="Ruby"/>
			<xs:enumeration value="Shell"/>
			<xs:enumeration value="PseudoCode"/>
			<xs:enumeration value=".NET"/>
			<xs:enumeration value="Assembly"/>
			<xs:enumeration value="XML"/>
			<xs:enumeration value="HTML"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="FrequencyType">
		<xs:annotation>
			<xs:documentation>The FrequencyType is a simple type representing the characterization of how frequently a given event/condition occurs.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Often"/>
			<xs:enumeration value="Sometimes"/>
			<xs:enumeration value="Rarely"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="DataType">
		<xs:annotation>
			<xs:documentation>DataType is intended to provide a relatively abstract way of characterizing data segments that may be written/read/transmitted or otherwise utilized in actions or behaviors. </xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Data_Size">
				<xs:annotation>
					<xs:documentation>The Data_Size element contains the size of the data contained in this element.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="units" use="required">
								<xs:annotation>
									<xs:documentation>This attribute represents the Units used in the object size element. Possible values are: Bytes, Kilobytes, Megabytes.</xs:documentation>
								</xs:annotation>
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:enumeration value="Bytes"/>
										<xs:enumeration value="Kilobytes"/>
										<xs:enumeration value="Megabytes"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="Data_Segment" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The Data_Segment element contains the actual segment of data being characterized.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:ID" use="optional"/>
		<xs:attribute name="format">
			<xs:annotation>
				<xs:documentation>The format attribute refers to the type of data contained in this element. Possible values: Binary, Hexadecimal, Text, Other.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="Binary"/>
					<xs:enumeration value="Hexadecimal"/>
					<xs:enumeration value="Text"/>
					<xs:enumeration value="Other"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="offset" type="xs:int"/>
	</xs:complexType>
	<xs:complexType name="PersonnelType">
		<xs:annotation>
			<xs:documentation>PersonnelType is an abstracted data type to standardize the description of sets of personnel.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Contributor" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>This field contains information describing the identify, resources and timing of involvement for a single contributor.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Role" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>This field describes the role played by this contributor.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Name" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>This field contains the name of this contributor.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Email" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>This field contains the email of this contributor.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Phone" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>This field contains a telephone number of this contributor.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Organization" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>This field contains the organization name of this contributor.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Date" minOccurs="0">
							<xs:annotation>
								<xs:documentation>This field contains a description (bounding) of the timing of this contributor's involvement.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Start_Date" type="xs:date" minOccurs="0">
										<xs:annotation>
											<xs:documentation>This field contains the start date for this contributor's involvement. </xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="End_Date" type="xs:date" minOccurs="0">
										<xs:annotation>
											<xs:documentation>This field contains the end date for this contributor's involvement. </xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="Contribution_Location" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>This field contains information describing the location at which the contributory activity occured.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
