<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- edited with XMLSpy v2012 rel. 2 (http://www.altova.com) by Theo Larrieu (Jefferson Lab) -->
<!-- Definition of a basic Log Entry -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="https://logbooks.jlab.org/schema/TypeDefinitions.xsd"/>
	<xs:include schemaLocation="https://logbooks.jlab.org/schema/LogbooksEnum.xsd"/>
	<xs:include schemaLocation="https://logbooks.jlab.org/schema/TagsEnum.xsd"/>
	<xs:include schemaLocation="https://logbooks.jlab.org/schema/Attachment.xsd"/>
	<xs:include schemaLocation="https://logbooks.jlab.org/schema/Comment.xsd"/>
	<xs:include schemaLocation="https://logbooks.jlab.org/schema/OPSPREvent.xsd"/>
	<xs:include schemaLocation="https://logbooks.jlab.org/schema/UserDef.xsd"/>
	<xs:element name="Logentry">
		<xs:annotation>
			<xs:documentation>Basic informational log entry type</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:all>
				<xs:element name="lognumber" type="xs:positiveInteger" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Generated by the database and absent from new entries</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="title" nillable="false">
					<xs:annotation>
						<xs:documentation>One line summary of entry contents</xs:documentation>
					</xs:annotation>
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:maxLength value="255"/>
							<xs:minLength value="1"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
				<xs:element name="body" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Informational payload of the entry</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:simpleContent>
							<xs:extension base="xs:string">
								<xs:attribute name="type">
									<xs:simpleType>
										<xs:restriction base="xs:string"/>
									</xs:simpleType>
								</xs:attribute>
							</xs:extension>
						</xs:simpleContent>
					</xs:complexType>
				</xs:element>
				<xs:element ref="Logbooks"/>
				<xs:element ref="References" minOccurs="0"/>
				<xs:element ref="Entrymakers" minOccurs="0"/>
				<xs:element name="Attachments" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Pictures or documents included with the entry</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence minOccurs="0">
							<xs:element ref="Attachment" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Tags" minOccurs="0">
					<xs:complexType>
						<xs:sequence minOccurs="0">
							<xs:element ref="tag" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="created" type="xs:dateTime">
					<xs:annotation>
						<xs:documentation>When the logentry was created.  </xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="Notifications" minOccurs="0">
					<xs:complexType>
						<xs:sequence maxOccurs="unbounded">
							<xs:element name="email" minOccurs="0">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:pattern value="[^@]+@[^\.]+\..+"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="sticky" minOccurs="0">
					<xs:simpleType>
						<xs:restriction base="xs:int">
							<xs:enumeration value="0"/>
							<xs:enumeration value="1"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
				<xs:element name="Comments" minOccurs="0">
					<xs:complexType>
						<xs:sequence minOccurs="0">
							<xs:element ref="Comment" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Author" type="UserDef"/>
				<xs:element name="revision_reason" minOccurs="0"/>
				<xs:element name="OPSPREvents" minOccurs="0">
					<xs:complexType>
						<xs:sequence minOccurs="0">
							<xs:element ref="OPSPREvent"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Downtime" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="time_down" type="xs:dateTime"/>
							<xs:element name="time_up" type="xs:dateTime"/>
							<xs:element name="time_restored" type="xs:dateTime"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="ProblemReport" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Problem reporting for 12GeV.  Not necessarily OPS only.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="needs_attention">
								<xs:annotation>
									<xs:documentation>Either 0 or 1</xs:documentation>
								</xs:annotation>
								<xs:simpleType>
									<xs:restriction base="xs:integer">
										<xs:minInclusive value="0"/>
										<xs:maxInclusive value="1"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="system_id">
								<xs:annotation>
									<xs:documentation>accweb/hco/data/systems</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:simpleContent>
										<xs:extension base="xs:integer">
											<xs:attribute name="name" use="optional">
												<xs:annotation>
													<xs:documentation>Corresponding name for system_id at time XML was written.</xs:documentation>
												</xs:annotation>
											</xs:attribute>
										</xs:extension>
									</xs:simpleContent>
								</xs:complexType>
							</xs:element>
							<xs:element name="group_id">
								<xs:annotation>
									<xs:documentation>accweb/hco/data/groups</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:simpleContent>
										<xs:extension base="xs:integer">
											<xs:attribute name="name" use="optional">
												<xs:annotation>
													<xs:documentation>Nane for group_id at time XML was written</xs:documentation>
												</xs:annotation>
											</xs:attribute>
										</xs:extension>
									</xs:simpleContent>
								</xs:complexType>
							</xs:element>
							<xs:element name="problem_id" minOccurs="0">
								<xs:annotation>
									<xs:documentation>reserved for future use</xs:documentation>
								</xs:annotation>
								<xs:simpleType>
									<xs:restriction base="xs:integer">
										<xs:minInclusive value="1"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="Components" minOccurs="0">
								<xs:complexType>
									<xs:sequence maxOccurs="unbounded">
										<xs:element name="component_id">
											<xs:annotation>
												<xs:documentation>accweb/hco/data/components</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:simpleContent>
													<xs:extension base="xs:integer">
														<xs:attribute name="name" use="optional">
															<xs:annotation>
																<xs:documentation>Corresponding name for component_id at time XML was written.</xs:documentation>
															</xs:annotation>
														</xs:attribute>
													</xs:extension>
												</xs:simpleContent>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="Assignee" type="UserDef" minOccurs="0"/>
						</xs:sequence>
						<xs:attribute name="type" use="optional">
							<xs:annotation>
								<xs:documentation>OPS|HLA|HLB|HLC|HLD|LERF</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:enumeration value="OPS"/>
									<xs:enumeration value="HLA"/>
									<xs:enumeration value="HLB"/>
									<xs:enumeration value="HLC"/>
									<xs:enumeration value="HLD"/>
									<xs:enumeration value="LERF"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
			</xs:all>
		</xs:complexType>
	</xs:element>
	<!-- Custom types -->
	<!-- nonEmptyString -->
	<!-- definition of simple elements -->
	<xs:element name="Logbooks">
		<xs:annotation>
			<xs:documentation>Associates the entry with one or more logbooks</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence minOccurs="1">
				<xs:element ref="logbook" minOccurs="1" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!-- attachment must contain data -->
	<!-- Definition of complex element holders -->
	<xs:element name="Entrymakers">
		<xs:annotation>
			<xs:documentation>Users in addition to author credited with posting the entry</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence maxOccurs="unbounded">
				<xs:element name="Entrymaker" type="UserDef"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="References">
		<xs:annotation>
			<xs:documentation>Links to other log entries or to ATLis, etc.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence minOccurs="0">
				<xs:element ref="reference" minOccurs="1" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>
