You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
167 lines
7.3 KiB
167 lines
7.3 KiB
<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 |
|
Islandora, Robertson Library, University of Prince Edward Island, 550 University Ave., Charlottetown, Prince Edward Island |
|
</xsd:documentation> |
|
</xsd:annotation> |
|
|
|
<xsd:element name="content_model" type="content_modelType"/> |
|
<xsd:complexType name="content_modelType"> |
|
<xsd:all> |
|
<xsd:element name="mimetypes" type="mimetypesType"/> |
|
<xsd:element name="ingest_form" type="ingest_formType"/> |
|
<xsd:element name="datastreams" type="datastreamsType" minOccurs="0"/> |
|
<xsd:element name="ingest_rules" type="ingest_rulesType"/> |
|
<xsd:element name="edit_metadata_method" type="edit_metadata_methodType" minOccurs="0"/> |
|
|
|
</xsd:all> |
|
<xsd:attribute name="name" type="xsd:normalizedString" use="required"/> |
|
</xsd:complexType> |
|
|
|
<xsd:complexType name="mimetypesType"> |
|
<xsd:sequence> |
|
<xsd:element name="type" type="xsd:string" maxOccurs="unbounded"/> |
|
</xsd:sequence> |
|
</xsd:complexType> |
|
|
|
<xsd:complexType name="ingest_formType"> |
|
<xsd:all> |
|
<xsd:element name="form_builder_method" type="form_builder_methodType"/> |
|
<xsd:element name="form_elements" type="form_elementsType"/> |
|
</xsd:all> |
|
<xsd:attribute name="dsid" type="xsd:normalizedString" use="required"/> |
|
<xsd:attribute name="page" type="xsd:positiveInteger" use="required"/> |
|
<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: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: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 name="form_elementsType"> |
|
<xsd:sequence> |
|
<xsd:element name="element" type="elementType" minOccurs="0" maxOccurs="unbounded"/> |
|
</xsd:sequence> |
|
</xsd:complexType> |
|
|
|
<xsd:complexType name="elementType"> |
|
<xsd:all> |
|
<xsd:element name="description" type="xsd:string" minOccurs="0"/> |
|
<xsd:element name="authoritative_list" type="authoritative_listType" minOccurs="0"/> |
|
<xsd:element name="parameters" type="parametersType" minOccurs="0"/> |
|
</xsd:all> |
|
<xsd:attribute name="label" type="xsd:normalizedString"/> |
|
<xsd:attribute name="name" type="xsd:normalizedString" use="required"/> |
|
<xsd:attribute name="type" type="xsd:normalizedString" use="required"/> |
|
<xsd:attribute name="required" type="xsd:boolean" default="false"/> |
|
</xsd:complexType> |
|
|
|
<xsd:complexType name="authoritative_listType"> |
|
<xsd:sequence> |
|
<xsd:element name="item" type="itemType" minOccurs="1" maxOccurs="unbounded"/> |
|
</xsd:sequence> |
|
</xsd:complexType> |
|
<xsd:complexType name="itemType"> |
|
<xsd:simpleContent> |
|
<xsd:extension base="xsd:string"> |
|
<xsd:attribute name="field" type="xsd:string" use="optional"/> |
|
</xsd:extension> |
|
</xsd:simpleContent> |
|
</xsd:complexType> |
|
|
|
<xsd:complexType name="ingest_rulesType"> |
|
<xsd:sequence> |
|
<xsd:element name="rule" type="ruleType" minOccurs="0" maxOccurs="unbounded"/> |
|
</xsd:sequence> |
|
</xsd:complexType> |
|
|
|
<xsd:complexType name="ruleType"> |
|
<xsd:sequence> |
|
<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:sequence> |
|
</xsd:complexType> |
|
<xsd:complexType name="ingest_methodType"> |
|
<xsd:all> |
|
<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"/> |
|
<xsd:attribute name="class" type="xsd:normalizedString" use="required"/> |
|
<xsd:attribute name="method" type="xsd:normalizedString" use="required"/> |
|
<xsd:attribute name="dsid" type="xsd:normalizedString" use="required"/> |
|
<xsd:attribute name="modified_files_ext" type="xsd:normalizedString" use="required"/> |
|
</xsd:complexType> |
|
|
|
<xsd:complexType name="datastreamsType"> |
|
<xsd:sequence> |
|
<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:sequence> |
|
<xsd:attribute name="dsid" type="xsd:normalizedString" use="required"/> |
|
<xsd:attribute name="display_in_fieldset" type="xsd:boolean" default="true"/> |
|
</xsd:complexType> |
|
|
|
<xsd:complexType name="add_datastream_methodType"> |
|
<xsd:all> |
|
<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"/> |
|
<xsd:attribute name="class" type="xsd:normalizedString" use="required"/> |
|
<xsd:attribute name="method" type="xsd:normalizedString" use="required"/> |
|
<xsd:attribute name="dsid" type="xsd:normalizedString" use="required"/> |
|
<xsd:attribute name="modified_files_ext" type="xsd:normalizedString" use="required"/> |
|
</xsd:complexType> |
|
<xsd:complexType name="parametersType"> |
|
<xsd:sequence> |
|
<xsd:element name="parameter" type="parameterType" minOccurs="1" maxOccurs="unbounded"/> |
|
</xsd:sequence> |
|
</xsd:complexType> |
|
<xsd:complexType name="parameterType"> |
|
<xsd:simpleContent> |
|
<xsd:extension base="xsd:string"> |
|
<xsd:attribute name="name" type="xsd:normalizedString" use="required"/> |
|
</xsd:extension> |
|
</xsd:simpleContent> |
|
</xsd:complexType> |
|
<xsd:complexType name="display_methodType"> |
|
<xsd:complexContent> |
|
<xsd:restriction base="xsd:anyType"> |
|
<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="default" type="xsd:boolean" default="false"/> |
|
</xsd:restriction> |
|
</xsd:complexContent> |
|
</xsd:complexType> |
|
|
|
</xsd:schema>
|
|
|