--- /dev/null
+default namespace = "http://purl.org/dc/elements/1.1/"\r
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"\r
+namespace rng = "http://relaxng.org/ns/structure/1.0"\r
+datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes"\r
+namespace dc = "http://purl.org/dc/elements/1.1/"\r
+\r
+a:documentation [\r
+ "\x{a}" ~\r
+ " \x{a}" ~\r
+ " DCMES 1.1 XML Schema\x{a}" ~\r
+ " XML Schema for http://purl.org/dc/elements/1.1/ namespace\x{a}" ~\r
+ "\x{a}" ~\r
+ " Created 2008-02-11\x{a}" ~\r
+ "\x{a}" ~\r
+ " Created by \x{a}" ~\r
+ "\x{a}" ~\r
+ " Tim Cole (t-cole3@uiuc.edu)\x{a}" ~\r
+ " Tom Habing (thabing@uiuc.edu)\x{a}" ~\r
+ " Jane Hunter (jane@dstc.edu.au)\x{a}" ~\r
+ " Pete Johnston (p.johnston@ukoln.ac.uk),\x{a}" ~\r
+ " Carl Lagoze (lagoze@cs.cornell.edu)\x{a}" ~\r
+ "\x{a}" ~\r
+ " This schema declares XML elements for the 15 DC elements from the\x{a}" ~\r
+ " http://purl.org/dc/elements/1.1/ namespace.\x{a}" ~\r
+ "\x{a}" ~\r
+ " It defines a complexType SimpleLiteral which permits mixed content \x{a}" ~\r
+ " and makes the xml:lang attribute available. It disallows child elements by\x{a}" ~\r
+ " use of minOcccurs/maxOccurs.\x{a}" ~\r
+ "\x{a}" ~\r
+ " However, this complexType does permit the derivation of other complexTypes\x{a}" ~\r
+ " which would permit child elements.\x{a}" ~\r
+ "\x{a}" ~\r
+ " All elements are declared as substitutable for the abstract element any, \x{a}" ~\r
+ " which means that the default type for all elements is dc:SimpleLiteral.\x{a}" ~\r
+ "\x{a}" ~\r
+ " \x{a}" ~\r
+ "\x{a}" ~\r
+ " "\r
+]\r
+\r
+## \r
+## \r
+## This is the default type for all of the DC elements.\r
+## It permits text content only with optional\r
+## xml:lang attribute.\r
+## Text is allowed because mixed="true", but sub-elements\r
+## are disallowed because minOccurs="0" and maxOccurs="0" \r
+## are on the xs:any tag.\r
+## \r
+## This complexType allows for restriction or extension permitting\r
+## child elements.\r
+## \r
+## \r
+\r
+start |= dc.title\r
+| dc.creator \r
+| dc.subject\r
+| dc.description\r
+| dc.publisher\r
+| dc.contributor\r
+| dc.date\r
+| dc.type\r
+| dc.format\r
+| dc.identifier\r
+| dc.source\r
+| dc.language\r
+| dc.relation\r
+| dc.coverage\r
+| dc.rights\r
+| dc.any\r
+\r
+SimpleLiteral |= element * { text }?\r
+dc.any |= element any { SimpleLiteral }\r
+dc.title |= element title { text }\r
+dc.creator |= element creator { text }\r
+dc.subject |= element subject { text }\r
+dc.description |= element description { text }\r
+dc.publisher |= element publisher { text }\r
+dc.contributor |= element contributor { text }\r
+dc.date |= element date { text }\r
+dc.type |= element type { text }\r
+dc.format |= element format { text }\r
+dc.identifier |= element identifier { text }\r
+dc.source |= element source { text }\r
+dc.language |= element language { text }\r
+dc.relation |= element relation { text }\r
+dc.coverage |= element coverage { text }\r
+dc.rights |= element rights { text }\r
+\r
+## \r
+## \r
+## This group is included as a convenience for schema authors\r
+## who need to refer to all the elements in the \r
+## http://purl.org/dc/elements/1.1/ namespace.\r
+## \r
+## \r
+elementsGroup |= text\r
+\r
+## \r
+## \r
+## This complexType is included as a convenience for schema authors who need to define a root\r
+## or container element for all of the DC elements.\r
+## \r
+## \r
+elementContainer |= elementsGroup\r
--- /dev/null
+default namespace = "http://purl.org/dc/terms/"\r
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"\r
+namespace dc = "http://purl.org/dc/elements/1.1/"\r
+namespace dcterms = "http://purl.org/dc/terms/"\r
+namespace dcmitype = "http://purl.org/dc/dcmitype/"\r
+namespace rng = "http://relaxng.org/ns/structure/1.0"\r
+datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes"\r
+\r
+a:documentation [\r
+ "\x{a}" ~\r
+ " \x{a}" ~\r
+ " DCterms XML Schema\x{a}" ~\r
+ " XML Schema for http://purl.org/dc/terms/ namespace\x{a}" ~\r
+ " \x{a}" ~\r
+ " Created 2008-02-11\x{a}" ~\r
+ "\x{a}" ~\r
+ " Created by \x{a}" ~\r
+ "\x{a}" ~\r
+ " Tim Cole (t-cole3@uiuc.edu)\x{a}" ~\r
+ " Tom Habing (thabing@uiuc.edu)\x{a}" ~\r
+ " Jane Hunter (jane@dstc.edu.au)\x{a}" ~\r
+ " Pete Johnston (p.johnston@ukoln.ac.uk),\x{a}" ~\r
+ " Carl Lagoze (lagoze@cs.cornell.edu)\x{a}" ~\r
+ "\x{a}" ~\r
+ " This schema declares XML elements for the DC elements and\x{a}" ~\r
+ " DC element refinements from the http://purl.org/dc/terms/ namespace.\x{a}" ~\r
+ " \x{a}" ~\r
+ " It reuses the complexType dc:SimpleLiteral, imported from the dc.xsd\x{a}" ~\r
+ " schema, which permits simple element content, and makes the xml:lang\x{a}" ~\r
+ " attribute available.\x{a}" ~\r
+ "\x{a}" ~\r
+ " This complexType permits the derivation of other complexTypes\x{a}" ~\r
+ " which would permit child elements.\x{a}" ~\r
+ "\x{a}" ~\r
+ " XML elements corresponding to DC elements are declared as substitutable for the abstract element dc:any, and \x{a}" ~\r
+ " XML elements corresponding to DC element refinements are defined as substitutable for the base elements \x{a}" ~\r
+ " which they refine.\x{a}" ~\r
+ "\x{a}" ~\r
+ " This means that the default type for all XML elements (i.e. corresponding to all DC elements and \x{a}" ~\r
+ " element refinements) is dc:SimpleLiteral.\x{a}" ~\r
+ "\x{a}" ~\r
+ " Encoding schemes are defined as complexTypes which are restrictions\x{a}" ~\r
+ " of the dc:SimpleLiteral complexType. These complexTypes restrict \x{a}" ~\r
+ " values to an appropriates syntax or format using data typing,\x{a}" ~\r
+ " regular expressions, or enumerated lists.\x{a}" ~\r
+ " \x{a}" ~\r
+ " In order to specify one of these encodings an xsi:type attribute must \x{a}" ~\r
+ " be used in the instance document.\x{a}" ~\r
+ "\x{a}" ~\r
+ " Also, note that one shortcoming of this approach is that any type can be \x{a}" ~\r
+ " applied to any of the elements or refinements. There is no convenient way\x{a}" ~\r
+ " to restrict types to specific elements using this approach.\x{a}" ~\r
+ "\x{a}" ~\r
+ " Changes in 2008-02-11 version:\x{a}" ~\r
+ " \x{a}" ~\r
+ " Add element declarations corresponding to 15 new dcterms URIs, and amend use of substitutionGroups.\x{a}" ~\r
+ " \x{a}" ~\r
+ " Add compexType definitions corresponding to ISO639-3, RFC4646.\x{a}" ~\r
+ " \x{a}" ~\r
+ " \x{a}" ~\r
+ "\x{a}" ~\r
+ " "\r
+]\r
+include "dc.rnc" inherit = dc {start|=notAllowed}\r
+include "dcmitype.rnc" inherit = dcmitype\r
+\r
+start |= dc.title\r
+| dc.creator \r
+| dc.subject\r
+| dc.description\r
+| dc.publisher\r
+| dc.contributor\r
+| dc.date\r
+| dc.type\r
+| dc.format\r
+| dc.identifier\r
+| dc.source\r
+| dc.language\r
+| dc.relation\r
+| dc.coverage\r
+| dc.rights\r
+| dcterms.alternative\r
+| dcterms.tableOfContents\r
+| dcterms.abstract\r
+| dcterms.created\r
+| dcterms.valid\r
+| dcterms.available\r
+| dcterms.issued\r
+| dcterms.modified\r
+| dcterms.dateAccepted\r
+| dcterms.dateCopyrighted\r
+| dcterms.dateSubmitted\r
+| dcterms.extent\r
+| dcterms.medium\r
+| dcterms.isVersionOf\r
+| dcterms.hasVersion\r
+| dcterms.isReplacedBy\r
+| dcterms.replaces\r
+| dcterms.isRequiredBy\r
+| dcterms.requires\r
+| dcterms.isPartOf\r
+| dcterms.hasPart\r
+| dcterms.isReferencedBy\r
+| dcterms.references\r
+| dcterms.isFormatOf\r
+| dcterms.hasFormat\r
+| dcterms.conformsTo\r
+| dcterms.spatial\r
+| dcterms.temporal\r
+| dcterms.audience\r
+| dcterms.accrualMethod\r
+| dcterms.accrualPeriodicity\r
+| dcterms.accrualPolicy\r
+| dcterms.instructionalMethod\r
+| dcterms.provenance\r
+| dcterms.rightsHolder\r
+| dcterms.mediator\r
+| dcterms.educationLevel\r
+| dcterms.accessRights\r
+| dcterms.license\r
+| dcterms.bibliographicCitation\r
+\r
+dcterms.alternative |= element alternative { text }\r
+dcterms.tableOfContents |= element tableOfContents { text }\r
+dcterms.abstract |= element abstract { text }\r
+dcterms.created |= element created { text }\r
+dcterms.valid |= element valid { text }\r
+dcterms.available |= element available { text }\r
+dcterms.issued |= element issued { text }\r
+dcterms.modified |= element modified { text }\r
+dcterms.dateAccepted |= element dateAccepted { text }\r
+dcterms.dateCopyrighted |= element dateCopyrighted { text }\r
+dcterms.dateSubmitted |= element dateSubmitted { text }\r
+dcterms.extent |= element extent { text }\r
+dcterms.medium |= element medium { text }\r
+dcterms.isVersionOf |= element isVersionOf { text }\r
+dcterms.hasVersion |= element hasVersion { text }\r
+dcterms.isReplacedBy |= element isReplacedBy { text }\r
+dcterms.replaces |= element replaces { text }\r
+dcterms.isRequiredBy |= element isRequiredBy { text }\r
+dcterms.requires |= element requires { text }\r
+dcterms.isPartOf |= element isPartOf { text }\r
+dcterms.hasPart |= element hasPart { text }\r
+dcterms.isReferencedBy |= element isReferencedBy { text }\r
+dcterms.references |= element references { text }\r
+dcterms.isFormatOf |= element isFormatOf { text }\r
+dcterms.hasFormat |= element hasFormat { text }\r
+dcterms.conformsTo |= element conformsTo { text }\r
+dcterms.spatial |= element spatial { text }\r
+dcterms.temporal |= element temporal { text }\r
+dcterms.audience |= element audience { text }\r
+dcterms.accrualMethod |= element accrualMethod { text }\r
+dcterms.accrualPeriodicity |= element accrualPeriodicity { text }\r
+dcterms.accrualPolicy |= element accrualPolicy { text }\r
+dcterms.instructionalMethod |= element instructionalMethod { text }\r
+dcterms.provenance |= element provenance { text }\r
+dcterms.rightsHolder |= element rightsHolder { text }\r
+dcterms.mediator |= element mediator { text }\r
+dcterms.educationLevel |= element educationLevel { text }\r
+dcterms.accessRights |= element accessRights { text }\r
+dcterms.license |= element license { text }\r
+dcterms.bibliographicCitation |= element bibliographicCitation { text }\r
+LCSH |= SimpleLiteral, xsd:string\r
+MESH |= SimpleLiteral, xsd:string\r
+DDC |= SimpleLiteral, xsd:string\r
+LCC |= SimpleLiteral, xsd:string\r
+UDC |= SimpleLiteral, xsd:string\r
+Period |= SimpleLiteral, xsd:string\r
+W3CDTF |= SimpleLiteral\r
+DCMIType |= SimpleLiteral, DCMIType\r
+IMT |= SimpleLiteral, xsd:string\r
+URI |= SimpleLiteral, xsd:anyURI\r
+ISO639-2 |= SimpleLiteral, xsd:string\r
+ISO639-3 |= SimpleLiteral, xsd:string\r
+RFC1766 |= SimpleLiteral, xsd:language\r
+RFC3066 |= SimpleLiteral, xsd:language\r
+RFC4646 |= SimpleLiteral, xsd:language\r
+Point |= SimpleLiteral, xsd:string\r
+ISO3166 |= SimpleLiteral, xsd:string\r
+Box |= SimpleLiteral, xsd:string\r
+TGN |= SimpleLiteral, xsd:string\r
+\r
+## \r
+## \r
+## This group is included as a convenience for schema authors\r
+## who need to refer to all the DC elements and element refinements \r
+## in the http://purl.org/dc/elements/1.1/ and \r
+## http://purl.org/dc/terms namespaces. \r
+## N.B. Refinements available via substitution groups.\r
+## \r
+## \r
+elementsAndRefinementsGroup |= text\r
+\r
+## \r
+## \r
+## This is included as a convenience for schema authors who need to define a root\r
+## or container element for all of the DC elements and element refinements.\r
+## \r
+## \r
+elementOrRefinementContainer |= elementsAndRefinementsGroup\r