@ -1,4 +1,5 @@
<xsd:schema xmlns= "http://www.islandora.ca" xmlns:xsd= "http://www.w3.org/2001/XMLSchema" targetNamespace= "http://www.islandora.ca" elementFormDefault= "qualified" >
<xsd:schema xmlns= "http://www.islandora.ca" xmlns:xsd= "http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.islandora.ca" elementFormDefault="qualified">
<xsd:annotation >
<xsd:documentation xml:lang= "en" >
Islandora Content Model Schema
@ -15,6 +16,14 @@
<xsd:element name= "ingest_rules" type= "ingest_rulesType" />
<xsd:element name= "edit_metadata_method" type= "edit_metadata_methodType" minOccurs= "0" />
<xsd:element name= "forms" >
<xsd:complexType >
<xsd:sequence >
<xsd:element maxOccurs= "unbounded" minOccurs= "1" name= "form" type= "formType"
/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:all>
<xsd:attribute name= "name" type= "xsd:normalizedString" use= "required" />
</xsd:complexType>
@ -35,22 +44,22 @@
<xsd:attribute name= "hide_file_chooser" type= "xsd:boolean" default= "false" />
<xsd:attribute name= "redirect" type= "xsd:boolean" default= "true" />
</xsd:complexType>
<xsd:complexType name= "form_builder_methodType" >
</xsd:complexType>
<xsd:complexType name= "form_builder_methodType" >
<xsd:attribute name= "file" type= "xsd:normalizedString" use= "required" />
<xsd:attribute name= "module" type= "xsd:normalizedString" default= "fedora_repository" />
<xsd:attribute name= "class" type= "xsd:normalizedString" use= "required" />
<xsd:attribute name= "method" type= "xsd:normalizedString" use= "required" />
<xsd:attribute name= "handler" type= "xsd:normalizedString" use= "required" />
</xsd:complexType>
<xsd:complexType name= "edit_metadata_methodType" >
</xsd:complexType>
<xsd:complexType name= "edit_metadata_methodType" >
<xsd:attribute name= "file" type= "xsd:normalizedString" use= "required" />
<xsd:attribute name= "module" type= "xsd:normalizedString" default= "fedora_repository" />
<xsd:attribute name= "class" type= "xsd:normalizedString" use= "required" />
<xsd:attribute name= "method" type= "xsd:normalizedString" use= "required" />
<xsd:attribute name= "handler" type= "xsd:normalizedString" use= "required" />
<xsd:attribute name= "dsid" type= "xsd:normalizedString" use= "required" />
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name= "form_elementsType" >
<xsd:sequence >
<xsd:element name= "element" type= "elementType" minOccurs= "0" maxOccurs= "unbounded" />
@ -90,19 +99,21 @@
<xsd:complexType name= "ruleType" >
<xsd:sequence >
<xsd:element name= "applies_to" type= "xsd:normalizedString" minOccurs= "1" maxOccurs= "unbounded" />
<xsd:element name= "applies_to" type= "xsd:normalizedString" minOccurs= "1"
maxOccurs="unbounded"/>
<xsd:element name= "ingest_methods" type= "ingest_methodsType" minOccurs= "0" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name= "ingest_methodsType" >
<xsd:sequence >
<xsd:element name= "ingest_method" type= "ingest_methodType" minOccurs= "1" maxOccurs= "unbounded" />
<xsd:element name= "ingest_method" type= "ingest_methodType" minOccurs= "1"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name= "ingest_methodType" >
<xsd:all >
<xsd:element name= "parameters" type= "parametersType" minOccurs= "0" />
<xsd:element name= "parameters" type= "parametersType" minOccurs= "0" />
</xsd:all>
<xsd:attribute name= "file" type= "xsd:normalizedString" use= "required" />
@ -115,14 +126,17 @@
<xsd:complexType name= "datastreamsType" >
<xsd:sequence >
<xsd:element name= "datastream" type= "datastreamType" minOccurs= "1" maxOccurs= "unbounded" />
<xsd:element name= "datastream" type= "datastreamType" minOccurs= "1" maxOccurs= "unbounded"
/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name= "datastreamType" >
<xsd:sequence >
<xsd:element name= "display_method" type= "display_methodType" minOccurs= "0" maxOccurs= "unbounded" />
<xsd:element name= "add_datastream_method" type= "add_datastream_methodType" minOccurs= "0" maxOccurs= "1" />
<xsd:element name= "display_method" type= "display_methodType" minOccurs= "0"
maxOccurs="unbounded"/>
<xsd:element name= "add_datastream_method" type= "add_datastream_methodType" minOccurs= "0"
maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name= "dsid" type= "xsd:normalizedString" use= "required" />
@ -131,7 +145,7 @@
<xsd:complexType name= "add_datastream_methodType" >
<xsd:all >
<xsd:element name= "parameters" type= "parametersType" minOccurs= "0" />
<xsd:element name= "parameters" type= "parametersType" minOccurs= "0" />
</xsd:all>
<xsd:attribute name= "file" type= "xsd:normalizedString" use= "required" />
<xsd:attribute name= "module" type= "xsd:normalizedString" default= "fedora_repository" />
@ -164,4 +178,208 @@
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name= "formType" >
<xsd:complexContent >
<xsd:extension base= "formElementType" >
<xsd:attribute name= "name" type= "xsd:normalizedString" use= "required" />
<xsd:attribute name= "dsid" type= "xsd:normalizedString" use= "required" />
<xsd:attribute name= "ingest_module" type= "xsd:normalizedString" />
<xsd:attribute name= "ingest_file" type= "xsd:normalizedString" />
<xsd:attribute name= "ingest_class" type= "xsd:normalizedString" />
<xsd:attribute name= "edit_module" type= "xsd:normalizedString" use= "optional" />
<xsd:attribute name= "edit_file" type= "xsd:normalizedString" use= "optional" />
<xsd:attribute name= "edit_class" type= "xsd:normalizedString" use= "optional" />
<xsd:attribute name= "document_module" type= "xsd:normalizedString" use= "required" />
<xsd:attribute name= "document_file" type= "xsd:normalizedString" use= "required" />
<xsd:attribute name= "document_class" type= "xsd:normalizedString" use= "required" />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name= "formElementType" >
<xsd:choice maxOccurs= "unbounded" minOccurs= "0" >
<xsd:element maxOccurs= "1" minOccurs= "1" name= "fieldset" >
<xsd:complexType >
<xsd:all maxOccurs= "1" minOccurs= "1" >
<xsd:element name= "title" type= "xsd:normalizedString" />
<xsd:element minOccurs= "0" name= "description" type= "xsd:normalizedString" />
<xsd:element default= "true" minOccurs= "0" name= "collapsible"
type="xsd:boolean"/>
<xsd:element default= "false" minOccurs= "0" name= "collapsed"
type="xsd:boolean"/>
<xsd:element name= "content" type= "formElementType" />
<xsd:element minOccurs= "0" name= "form_builder" type= "formBuilderControlType"
/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name= "textfield" >
<xsd:complexType >
<xsd:all maxOccurs= "1" minOccurs= "1" >
<xsd:element name= "title" type= "xsd:normalizedString" />
<xsd:element minOccurs= "0" name= "description" type= "xsd:normalizedString" />
<xsd:element minOccurs= "0" name= "required" type= "xsd:boolean" />
<xsd:element minOccurs= "0" name= "default_value" type= "xsd:normalizedString" />
<xsd:element minOccurs= "0" name= "autocomplete_path"
type="xsd:normalizedString"/>
<xsd:element minOccurs= "0" name= "form_builder" type= "formBuilderControlType"
/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element minOccurs= "1" name= "textarea" >
<xsd:complexType >
<xsd:all maxOccurs= "1" minOccurs= "1" >
<xsd:element name= "title" type= "xsd:normalizedString" />
<xsd:element minOccurs= "0" name= "description" type= "xsd:normalizedString" />
<xsd:element minOccurs= "0" name= "required" type= "xsd:boolean" />
<xsd:element minOccurs= "0" name= "default_value" type= "xsd:normalizedString" />
<xsd:element minOccurs= "0" name= "form_builder" type= "formBuilderControlType"
/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element maxOccurs= "1" minOccurs= "1" name= "select" >
<xsd:complexType >
<xsd:all maxOccurs= "1" minOccurs= "1" >
<xsd:element name= "title" type= "xsd:normalizedString" />
<xsd:element minOccurs= "0" name= "description" type= "xsd:normalizedString" />
<xsd:element name= "options" type= "formControlOptionsType" />
<xsd:element minOccurs= "0" name= "required" type= "xsd:boolean" />
<xsd:element minOccurs= "0" name= "default_value" type= "xsd:normalizedString" />
<xsd:element minOccurs= "0" name= "form_builder" type= "formBuilderControlType"
/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element minOccurs= "1" name= "set" >
<xsd:complexType >
<xsd:all maxOccurs= "1" minOccurs= "1" >
<xsd:element name= "title" type= "xsd:normalizedString" />
<xsd:element minOccurs= "0" name= "description" type= "xsd:normalizedString" />
<xsd:element minOccurs= "0" name= "required" type= "xsd:boolean" />
<xsd:element minOccurs= "0" name= "default_value" type= "xsd:normalizedString" />
<xsd:element minOccurs= "0" name= "autocomplete_path"
type="xsd:normalizedString"/>
<xsd:element minOccurs= "0" name= "form_builder" type= "formBuilderControlType"
/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element minOccurs= "1" name= "filechooser" >
<xsd:complexType >
<xsd:all maxOccurs= "1" minOccurs= "1" >
<xsd:element name= "title" type= "xsd:normalizedString" />
<xsd:element minOccurs= "0" name= "description" type= "xsd:normalizedString" />
<xsd:element minOccurs= "0" name= "required" type= "xsd:boolean" />
<xsd:element minOccurs= "0" name= "default_value" type= "xsd:normalizedString" />
<xsd:element minOccurs= "0" name= "form_builder" type= "formBuilderControlType"
/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element minOccurs= "1" name= "datepicker" >
<xsd:complexType >
<xsd:all maxOccurs= "1" minOccurs= "1" >
<xsd:element name= "title" type= "xsd:normalizedString" />
<xsd:element minOccurs= "0" name= "description" type= "xsd:normalizedString" />
<xsd:element minOccurs= "0" name= "required" type= "xsd:boolean" />
<xsd:element minOccurs= "0" name= "default_value" type= "xsd:normalizedString" />
<xsd:element minOccurs= "0" name= "form_builder" type= "formBuilderControlType"
/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element maxOccurs= "1" minOccurs= "1" name= "tabpanel" >
<xsd:complexType >
<xsd:all maxOccurs= "1" minOccurs= "1" >
<xsd:element name= "title" type= "xsd:normalizedString" />
<xsd:element minOccurs= "0" name= "description" type= "xsd:normalizedString" />
<xsd:element default= "true" minOccurs= "0" name= "collapsible"
type="xsd:boolean"/>
<xsd:element default= "false" minOccurs= "0" name= "collapsed"
type="xsd:boolean"/>
<xsd:element name= "content" type= "formElementType" />
<xsd:element minOccurs= "0" name= "form_builder" type= "formBuilderControlType"
/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name= "checkbox" >
<xsd:complexType >
<xsd:all maxOccurs= "1" minOccurs= "1" >
<xsd:element name= "title" type= "xsd:normalizedString" />
<xsd:element minOccurs= "0" name= "description" type= "xsd:normalizedString" />
<xsd:element name= "return_value" type= "xsd:normalizedString" />
<xsd:element minOccurs= "0" name= "form_builder" type= "formBuilderControlType"
/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element minOccurs= "1" name= "hidden" >
<xsd:complexType >
<xsd:all >
<xsd:element minOccurs= "1" name= "value" type= "xsd:normalizedString" />
<xsd:element minOccurs= "0" name= "form_builder" type= "formBuilderControlType" />
<xsd:element minOccurs= "0" name= "content" type= "formElementType" />
</xsd:all>
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
<xsd:complexType name= "formControlXPathType" >
<xsd:simpleContent >
<xsd:extension base= "xsd:normalizedString" >
<xsd:attribute name= "full_path" type= "xsd:boolean" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name= "formControlElementValidateType" >
<xsd:complexContent >
<xsd:extension base= "array" />
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name= "array" >
<xsd:sequence >
<xsd:element maxOccurs= "unbounded" name= "item" type= "xsd:normalizedString" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name= "formControlOptionsType" >
<xsd:sequence >
<xsd:element maxOccurs= "unbounded" name= "option" type= "xsd:normalizedString" />
</xsd:sequence>
<xsd:attribute name= "ignoreFirstOption" type= "xsd:boolean" use= "required" />
</xsd:complexType>
<xsd:complexType name= "formBuilderControlType" >
<xsd:sequence >
<xsd:element name= "xpath" >
<xsd:complexType >
<xsd:sequence >
<xsd:element name= "path" >
<xsd:complexType >
<xsd:simpleContent >
<xsd:extension base= "xsd:normalizedString" >
<xsd:attribute name= "full" type= "xsd:boolean" use= "required"
/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name= "parent_path" minOccurs= "0" >
<xsd:complexType >
<xsd:simpleContent >
<xsd:extension base= "xsd:normalizedString" > </xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:choice >
<xsd:element name= "xml" type= "xsd:normalizedString" />
<xsd:element name= "element" type= "xsd:normalizedString" />
<xsd:element name= "attribute" type= "xsd:normalizedString" />
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name= "require_value" type= "xsd:boolean" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>