<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Copyright 2005, Florida Center for Library Automation -->
<!-- Sept 1, 2005 -->
<!-- Version 1.14 -->
<!-- 
	CHANGE HISTORY
 -->
<xsd:schema 
		xmlns:xsd="http://www.w3.org/2001/XMLSchema"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      	xmlns="http://www.fcla.edu/dls/md/daitss/"
        targetNamespace="http://www.fcla.edu/dls/md/daitss/"
        elementFormDefault="qualified"
        attributeFormDefault="unqualified"
        xsi:schemaLocation="http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema.xsd">
	
	
	<xsd:include schemaLocation="daitssAccount.xsd"/>
	<xsd:include schemaLocation="daitssAccountProject.xsd"/>
	<xsd:include schemaLocation="daitssActionPlan.xsd"/>
	<xsd:include schemaLocation="daitssAdmin.xsd"/>
	<xsd:include schemaLocation="daitssAgreementInfo.xsd"/>
	<xsd:include schemaLocation="daitssArchiveLogic.xsd"/>
	<xsd:include schemaLocation="daitssAviFile.xsd"/>
	<xsd:include schemaLocation="daitssBilling.xsd"/>
	<xsd:include schemaLocation="daitssBitstream.xsd"/>
	<xsd:include schemaLocation="daitssBitstreamBsProfile.xsd"/>
	<xsd:include schemaLocation="daitssBsAudio.xsd"/>
	<xsd:include schemaLocation="daitssBsAudioWave.xsd"/>
	<xsd:include schemaLocation="daitssBsImage.xsd"/>
	<xsd:include schemaLocation="daitssBsImageJpeg.xsd"/>
	<xsd:include schemaLocation="daitssBsImageJpeg2000.xsd"/>
	<xsd:include schemaLocation="daitssBsImageTiff.xsd"/>
	<xsd:include schemaLocation="daitssBsMarkup.xsd"/>
	<xsd:include schemaLocation="daitssBsPdf.xsd"/>
	<xsd:include schemaLocation="daitssBsPdfAction.xsd"/>
	<xsd:include schemaLocation="daitssBsPdfAnnotation.xsd"/>
	<xsd:include schemaLocation="daitssBsPdfFilter.xsd"/>
	<xsd:include schemaLocation="daitssBsProfile.xsd"/>
	<xsd:include schemaLocation="daitssBsTable.xsd"/>
	<xsd:include schemaLocation="daitssBsText.xsd"/>
	<xsd:include schemaLocation="daitssBsTextCSV.xsd"/>
	<xsd:include schemaLocation="daitssBsVideo.xsd"/>
	<xsd:include schemaLocation="daitssCompression.xsd"/>
	<xsd:include schemaLocation="daitssContact.xsd"/>
	<xsd:include schemaLocation="daitssDataFile.xsd"/>
	<xsd:include schemaLocation="daitssDataFileFormatAttribute.xsd"/>
	<xsd:include schemaLocation="daitssDataFileSevereElement.xsd"/>
	<xsd:include schemaLocation="daitssDistributed.xsd"/>
	<xsd:include schemaLocation="daitssDocumentLocation.xsd"/>
	<xsd:include schemaLocation="daitssEvent.xsd"/>
	<xsd:include schemaLocation="daitssFormat.xsd"/>
	<xsd:include schemaLocation="daitssFormatAttribute.xsd"/>
	<xsd:include schemaLocation="daitssFormatSpecification.xsd"/>
	<xsd:include schemaLocation="daitssGlobalFile.xsd"/>
	<xsd:include schemaLocation="daitssIntEntity.xsd"/>
	<xsd:include schemaLocation="daitssIntEntityGlobalFile.xsd"/>
	<xsd:include schemaLocation="daitssMediaType.xsd"/>
	<xsd:include schemaLocation="daitssMessageDigest.xsd"/>
	<xsd:include schemaLocation="daitssMessageDigestType.xsd"/>
	<xsd:include schemaLocation="daitssOutputRequest.xsd"/>
	<xsd:include schemaLocation="daitssPdfAction.xsd"/>
	<xsd:include schemaLocation="daitssPdfAnnotation.xsd"/>
	<xsd:include schemaLocation="daitssPdfFilter.xsd"/>
	<xsd:include schemaLocation="daitssProject.xsd"/>
	<xsd:include schemaLocation="daitssQuickTimeFile.xsd"/>
	<xsd:include schemaLocation="daitssRelationship.xsd"/>
	<xsd:include schemaLocation="daitssReport.xsd"/>
	<xsd:include schemaLocation="daitssSevereElement.xsd"/>
	<xsd:include schemaLocation="daitssSeverity.xsd"/>
	<xsd:include schemaLocation="daitssSpecification.xsd"/>
	<xsd:include schemaLocation="daitssStorageDesc.xsd"/>
	<xsd:include schemaLocation="daitssStorageDescPrep.xsd"/>
	<xsd:include schemaLocation="daitssStorageInstance.xsd"/>
	<xsd:include schemaLocation="daitssStoragePrep.xsd"/>
	<xsd:include schemaLocation="daitssSubAccount.xsd"/>
	<xsd:include schemaLocation="daitssSupportingSpecification.xsd"/>
	<xsd:include schemaLocation="daitssWaveFile.xsd"/>
  	<xsd:annotation>
    	<xsd:documentation xml:lang="en">
			Schema defining metadata corresponding to all levels of the 
			DAITSS ArchiveEntity object hierarchy and to all other metadata defined in 
			the DAITSS database (e.g. relationships, events,...). The schemas, like 
			DAITSS ArchiveEntity objects and subclasses, are hierarchical. For example, 
			a schema exists for metadata at the DataFile level, another schema exists for 
			the more specific Bitstream level, and another for the Bitstream type level 
			(e.g. TiffImage). 
			
			The primary purpose for these schemas is for metadata redundnacy within DAITSS. 
			The intent is that all metadata stored in the DAITSS database will also be stored
			in an XML-based format. When possible, occurrence, integrity (referential), and format
			constraints will be replicated in the schema as they appear in the DAITSS database.
			Defualt values, however, will not be represented in the schemas - values must be provided
			explicitly. Currently the DAITSS namespace will be used in &lt;xmlData&gt; sections 
			within a METS instance document.
			
			Since redundancy is the goal, the naming convention for elements and attributes (if 
			applicable) will be the same as that in the DAITSS database. Type names (for simple and
			complexTypes defined in the DAITSS namespace) will follow the naming convention used 
			for class names in the DAITSS object architecture (which is the standard Java class
			naming convention).	
			
			The daitss namespace is defined using a hierarchical arrangement of xml-schema documents.
			At the top of the hierarchy is this document which defines the &lt;daitss&gt; root element 
			which may contain an arbitrary number of subelements. Each subelement is named for a table 
			in the daitss database and contains the complete set of elements that represent fields of 
			the table. The convention being used here is that element names should only be defined at 
			the namespace root and table levels. Types are only defined at these levels if they are
			referenced locally (local to the xml-schema document in which it was defined) or if the
			type represents a primary key that is referred to using a foreign key. Types with a 
			global scope are defined in separate documents that are divided by general data type (e.g. 
			daitssString, daitssNumber,...). Element names should not be specified at this level to 
			more easily accomodate field name changes in the database. This convention also prevents
			elements from being used out of context. Each schema at this level should be included (using 
			the xml-schema &lt;included&gt; element) in the daitssDataTypes schema which in turn is the 
			only schema to be included in the table-level schemas. This document should include all 
			table-level schemas and is the only document required to be referenced (in the schemaLocation 
			attribute) by instance documents.
			
	    </xsd:documentation>
  	</xsd:annotation>

	<xsd:element name="daitss" type="DaitssType"/>
		
	<xsd:complexType name="DaitssType">
		<xsd:annotation> 
			<xsd:documentation xml:lang="en">
				Type definition for the root element of the daitss namespace.
				The element may contain an arbitrary number of subelements in 
				any order with each subelement representing a complete entry
				in a table of the daitss database. 
			</xsd:documentation>
		</xsd:annotation>
	
		<xsd:choice maxOccurs="unbounded">
				<xsd:element ref="ACCOUNT"/>
				<xsd:element ref="ACCOUNT_PROJECT"/>
				<xsd:element ref="ACTION_PLAN"/>
				<xsd:element ref="ADMIN"/>
				<xsd:element ref="ARCHIVE_LOGIC"/>
				<xsd:element ref="AGREEMENT_INFO"/>
				<xsd:element ref="AVI_FILE"/>
				<xsd:element ref="BILLING"/>
				<xsd:element ref="BITSTREAM"/>
				<xsd:element ref="BITSTREAM_BS_PROFILE"/>
				<xsd:element ref="BS_AUDIO"/>
				<xsd:element ref="BS_AUDIO_WAVE"/>
				<xsd:element ref="BS_IMAGE"/>
				<xsd:element ref="BS_IMAGE_JPEG"/>
				<xsd:element ref="BS_IMAGE_JPEG2000"/>
				<xsd:element ref="BS_IMAGE_TIFF"/>
				<xsd:element ref="BS_MARKUP"/>
				<xsd:element ref="BS_PDF"/>
				<xsd:element ref="BS_PDF_ACTION"/>
				<xsd:element ref="BS_PDF_ANNOTATION"/>
				<xsd:element ref="BS_PDF_FILTER"/>
				<xsd:element ref="BS_PROFILE"/>
				<xsd:element ref="BS_TABLE"/>
				<xsd:element ref="BS_TEXT"/>
				<xsd:element ref="BS_TEXT_CSV"/>
				<xsd:element ref="BS_VIDEO"/>
				<xsd:element ref="COMPRESSION"/>
				<xsd:element ref="CONTACT"/>
				<xsd:element ref="DATA_FILE"/>				
				<xsd:element ref="DATA_FILE_FORMAT_ATTRIBUTE"/>	
				<xsd:element ref="DATA_FILE_SEVERE_ELEMENT"/>
				<xsd:element ref="DISTRIBUTED"/>
				<xsd:element ref="DOCUMENT_LOCATION"/>
				<xsd:element ref="EVENT"/>
				<xsd:element ref="FORMAT"/>
				<xsd:element ref="FORMAT_ATTRIBUTE"/>
				<xsd:element ref="FORMAT_SPECIFICATION"/>
				<xsd:element ref="GLOBAL_FILE"/>
				<xsd:element ref="INT_ENTITY"/>
				<xsd:element ref="INT_ENTITY_GLOBAL_FILE"/>
				<xsd:element ref="MEDIA_TYPE"/>
				<xsd:element ref="MESSAGE_DIGEST"/>
				<xsd:element ref="MESSAGE_DIGEST_TYPE"/>
				<xsd:element ref="OUTPUT_REQUEST"/>
				<xsd:element ref="PDF_ACTION"/>
				<xsd:element ref="PDF_ANNOTATION"/>
				<xsd:element ref="PDF_FILTER"/>
				<xsd:element ref="PROJECT"/>
				<xsd:element ref="QUICKTIME_FILE"/>				
				<xsd:element ref="RELATIONSHIP"/>
				<xsd:element ref="REPORT"/>
				<xsd:element ref="SEVERE_ELEMENT"/>
				<xsd:element ref="SEVERITY"/>
				<xsd:element ref="SPECIFICATION"/>
				<xsd:element ref="STORAGE_DESC"/>
				<xsd:element ref="STORAGE_DESC_PREP"/>
				<xsd:element ref="STORAGE_INSTANCE"/>
				<xsd:element ref="STORAGE_PREP"/>
				<xsd:element ref="SUB_ACCOUNT"/>
				<xsd:element ref="SUPPORTING_SPECIFICATION"/>
				<xsd:element ref="WAVE_FILE"/>
		</xsd:choice>
	</xsd:complexType> 
	
</xsd:schema>


