<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="FIID">
		<xs:annotation>
			<xs:documentation>FIID - Frozen Image Identifier</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Node" maxOccurs="unbounded"/>
				<xs:element name="magic" type="xs:unsignedInt"/>
				<xs:element name="fitype" type="xs:string" minOccurs="0">
					<xs:annotation>
						<xs:documentation>fitype used in analysis</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="state" type="xs:unsignedInt"/>
				<xs:element name="version" type="xs:int" minOccurs="0"/>
				<xs:element name="accessType" type="xs:unsignedInt" minOccurs="0">
					<xs:annotation>
						<xs:documentation>To add comment</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="sessionId" type="xs:string">
					<xs:annotation>
						<xs:documentation>sessionId created in gentree</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="timeStamp" type="xs:string">
					<xs:annotation>
						<xs:documentation>time stamp of creation of the fiid</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Node">
		<xs:annotation>
			<xs:documentation>This node is under FIID then it is top level node (i.e. access pts) or group node. If this is under any Node, then it  is parent of this node in view of fidomain tree also. Node at same level are siblings except in case of group nodes. </xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="objid" type="xs:normalizedString">
					<xs:annotation>
						<xs:documentation>This is resource name</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="type" type="xs:unsignedInt">
					<xs:annotation>
						<xs:documentation>Type of node</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="fi_flags" type="xs:unsignedInt" minOccurs="0"/>
				<xs:element name="tmpobjid" type="xs:normalizedString" minOccurs="0">
					<xs:annotation>
						<xs:documentation>from fid_tmpobj</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="altobjid" type="xs:normalizedString" minOccurs="0">
					<xs:annotation>
						<xs:documentation>fid_altnode->fid_objid</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="accessId" type="xs:normalizedString" minOccurs="0">
					<xs:annotation>
						<xs:documentation>To add comment</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="accessPoint" type="xs:normalizedString" minOccurs="0"/>
				<xs:element name="interposed_parent" type="xs:normalizedString" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Parent of the interposed node</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="interposed" type="xs:normalizedString" minOccurs="0">
					<xs:annotation>
						<xs:documentation>objid of the node on whiom this node interposes</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="splitType" type="xs:normalizedString" minOccurs="0">
					<xs:annotation>
						<xs:documentation>sp_type for the split node</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="quiesceType" type="xs:normalizedString" minOccurs="0">
					<xs:annotation>
						<xs:documentation>qs_type for the quiesce node</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="nodeId" type="xs:normalizedString" minOccurs="0"/>
				<xs:element name="providerPrefix" type="xs:normalizedString" minOccurs="0">
					<xs:annotation>
						<xs:documentation>prefix for the owning provider/plugin</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="splitGroup" type="xs:normalizedString" minOccurs="0">
					<xs:annotation>
						<xs:documentation>objid of the split group node</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="quiesceGroup" type="xs:normalizedString" minOccurs="0">
					<xs:annotation>
						<xs:documentation>objid of the quiesce group node</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="quiesceConfigs" minOccurs="0">
					<xs:annotation>
						<xs:documentation>config strings associated with the quiesce node</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence maxOccurs="unbounded">
							<xs:element name="Value" type="xs:string"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="splitConfigs" minOccurs="0">
					<xs:annotation>
						<xs:documentation>quiesce strings associacted with th split node</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence maxOccurs="unbounded">
							<xs:element name="Value" type="xs:string"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:choice minOccurs="0">
					<xs:element name="pluginStringData" type="xs:string"/>
					<xs:element name="pluginBinaryData" type="xs:base64Binary"/>
					<xs:element name="pluginUTFData" type="xs:base64Binary"/>
				</xs:choice>
				<xs:element ref="Node" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="isGroup" type="xs:boolean" use="required"/>
		</xs:complexType>
	</xs:element>
</xs:schema>
