<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<!-- Field Extraction Template (FXT) Schema 0.3 -->
	<xsd:element name="FXT">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:choice maxOccurs="500">
					<xsd:element name="message" type="MessageType"/>
					<xsd:element name="ip-message" type="ProtocolMessageType"/>
					<xsd:element name="udp-message" type="ProtocolMessageType"/>
					<xsd:element name="tcp-message" type="ProtocolMessageType"/>
					<xsd:element name="sctp-message" type="ProtocolMessageType"/>					
				</xsd:choice>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="MessageType">
		<xsd:sequence>
			<xsd:element name="opcode" type="FilterElementType"/>
			<xsd:element name="param" type="FilterElementType" minOccurs="0" maxOccurs="100"/>
			<xsd:element name="source" type="NodeType"/>
			<xsd:element name="destination" type="NodeType"/>
			<xsd:element name="remark" type="FilterElementType" default="timestamp" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="ProtocolMessageType">
		<xsd:sequence>
			<xsd:element name="opcode" type="FilterElementType"/>
			<xsd:element name="param" type="FilterElementType" minOccurs="0" maxOccurs="100"/>
			<xsd:element name="remark" type="FilterElementType" default="timestamp" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="FilterElementType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="display" default="detailed">
					<xsd:simpleType>
						<xsd:restriction base="xsd:string">
							<xsd:enumeration value="brief"/>
							<xsd:enumeration value="detailed"/>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:attribute>
				<xsd:attribute name="match" type="xsd:string"/>
				<xsd:attribute name="not-match" type="xsd:string"/>
				<xsd:attribute name="regex-match" type="xsd:string"/>
				<xsd:attribute name="regex-replace" type="xsd:string"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="NodeType">
		<xsd:sequence>
			<xsd:element name="ip" type="FilterElementType"/>
			<xsd:element name="port" type="FilterElementType" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
</xsd:schema>

