]> granicus.if.org Git - docbook-dsssl/commitdiff
Tweaked use of 'choice' and nesting of fragments to make schema more amenable to...
authorNorman Walsh <ndw@nwalsh.com>
Fri, 19 Feb 2010 19:12:16 +0000 (19:12 +0000)
committerNorman Walsh <ndw@nwalsh.com>
Fri, 19 Feb 2010 19:12:16 +0000 (19:12 +0000)
docbook/relaxng/publishers/publishers/dcmitype.rnc
docbook/relaxng/publishers/publishers/dcterms.rnc

index cde26df417bdee5f559b41fed4e09939bcc6cec0..5404ab69722328021ad30993cd5da61830edcafd 100644 (file)
@@ -24,7 +24,7 @@ a:documentation [
   " \x{a}" ~\r
   "  "\r
 ]\r
-DCMIType |=\r
+DCMIType =\r
   "Collection"\r
   | "Dataset"\r
   | "Event"\r
index 5cc230399a5cf6d81f40d40bb7516b6d445dc72c..25a1ac4153ba1cf109758c7ee1a70deeac3176ff 100644 (file)
@@ -66,10 +66,10 @@ a:documentation [
   "  "\r
 ]\r
 \r
-include "dcmitype.rnc" inherit = dcmitype\r
+#include "dcmitype.rnc" inherit = dcmitype\r
 \r
 start |= dcterms.title\r
-| dcterms.creator \r
+| dcterms.creator\r
 | dcterms.subject\r
 | dcterms.description\r
 | dcterms.publisher\r
@@ -125,391 +125,391 @@ start |= dcterms.title
 | dcterms.license\r
 | dcterms.bibliographicCitation\r
 \r
-SimpleLiteral |= element * { text }?\r
-dcterms.any |= element any { SimpleLiteral }\r
-dcterms.title |= \r
+SimpleLiteral = element * { text }?\r
+dcterms.any = element any { SimpleLiteral }\r
+dcterms.title =\r
   [\r
     db:refpurpose [ "A name given to the resource."\r
     ]\r
   ]\r
   element dcterms:title { text }\r
-dcterms.creator |= \r
+dcterms.creator =\r
   [\r
     db:refpurpose [ "An entity primarily responsible for making the resource. Examples of a Creator include a person, an organization, or a service. Typically, the name of a Creator should be used to indicate the entity."\r
     ]\r
   ]\r
   element dcterms:creator { text }\r
-dcterms.subject |=  \r
+dcterms.subject =\r
   [\r
     db:refpurpose [ "The topic of the resource. Typically, the subject will be represented using keywords, key phrases, or classification codes. Recommended best practice is to use a controlled vocabulary. To describe the spatial or temporal topic of the resource, use the Coverage element."\r
     ]\r
   ]\r
   element dcterms:subject { text }\r
-dcterms.description |=  \r
+dcterms.description =\r
   [\r
     db:refpurpose [ "An account of the resource. Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."\r
     ]\r
   ]\r
   element dcterms:description { text }\r
-dcterms.publisher |=  \r
+dcterms.publisher =\r
   [\r
     db:refpurpose [ "An entity responsible for making the resource available. Examples of a Publisher include a person, an organization, or a service. Typically, the name of a Publisher should be used to indicate the entity."\r
     ]\r
   ]\r
   element dcterms:publisher { text }\r
-dcterms.contributor |=  \r
+dcterms.contributor =\r
   [\r
     db:refpurpose [ "An entity responsible for making contributions to the resource. Examples of a Contributor include a person, an organization, or a service. Typically, the name of a Contributor should be used to indicate the entity."\r
     ]\r
   ]\r
   element dcterms:contributor { text }\r
-dcterms.date |=  \r
+dcterms.date =\r
   [\r
     db:refpurpose [ "A point or period of time associated with an event in the lifecycle of the resource. Date may be used to express temporal information at any level of granularity. Recommended best practice is to use an encoding scheme, such as the W3CDTF profile of ISO 8601 [W3CDTF]."\r
     ]\r
   ]\r
   element dcterms:date { text }\r
-dcterms.type |=  \r
+dcterms.type =\r
   [\r
     db:refpurpose [ "The nature or genre of the resource. Recommended best practice is to use a controlled vocabulary such as the DCMI Type Vocabulary [DCMITYPE]. To describe the file format, physical medium, or dimensions of the resource, use the Format element."\r
     ]\r
   ]\r
   element dcterms:type { text }\r
-dcterms.format |=  \r
+dcterms.format =\r
   [\r
     db:refpurpose [ "The file format, physical medium, or dimensions of the resource. Examples of dimensions include size and duration. Recommended best practice is to use a controlled vocabulary such as the list of Internet Media Types [MIME]."\r
     ]\r
   ]\r
   element dcterms:format { text }\r
-dcterms.identifier |=  \r
+dcterms.identifier =\r
   [\r
     db:refpurpose [ "An unambiguous reference to the resource within a given context. Recommended best practice is to identify the resource by means of a string conforming to a formal identification system."\r
     ]\r
   ]\r
   element dcterms:identifier { text }\r
-dcterms.source |=  \r
+dcterms.source =\r
   [\r
     db:refpurpose [ "A related resource from which the described resource is derived. The described resource may be derived from the related resource in whole or in part. Recommended best practice is to identify the related resource by means of a string conforming to a formal identification system."\r
     ]\r
   ]\r
   element dcterms:source { text }\r
-dcterms.language |=  \r
+dcterms.language =\r
   [\r
     db:refpurpose [ "A language of the resource. Recommended best practice is to use a controlled vocabulary such as RFC 4646 [RFC4646]."\r
     ]\r
   ]\r
   element dcterms:language { text }\r
-dcterms.relation |=  \r
+dcterms.relation =\r
   [\r
     db:refpurpose [ "A related resource. Recommended best practice is to identify the related resource by means of a string conforming to a formal identification system."\r
     ]\r
   ]\r
   element dcterms:relation { text }\r
-dcterms.coverage |=  \r
+dcterms.coverage =\r
   [\r
     db:refpurpose [ "The spatial or temporal topic of the resource, the spatial applicability of the resource, or the jurisdiction under which the resource is relevant. Spatial topic and spatial applicability may be a named place or a location specified by its geographic coordinates. Temporal topic may be a named period, date, or date range. A jurisdiction may be a named administrative entity or a geographic place to which the resource applies. Recommended best practice is to use a controlled vocabulary such as the Thesaurus of Geographic Names [TGN]. Where appropriate, named places or time periods can be used in preference to numeric identifiers such as sets of coordinates or date ranges."\r
     ]\r
   ]\r
   element dcterms:coverage { text }\r
-dcterms.rights |=  \r
+dcterms.rights =\r
   [\r
     db:refpurpose [ "Information about rights held in and over the resource. Typically, rights information includes a statement about various property rights associated with the resource, including intellectual property rights."\r
     ]\r
   ]\r
   element dcterms:rights { text }\r
-dcterms.alternative |=  \r
+dcterms.alternative =\r
   [\r
     db:refpurpose [ "An alternative name for the resource. The distinction between titles and alternative titles is application-specific."\r
     ]\r
   ]\r
   element dcterms:alternative { text }\r
-dcterms.tableOfContents |=  \r
+dcterms.tableOfContents =\r
   [\r
     db:refpurpose [ "A list of subunits of the resource."\r
     ]\r
   ]\r
   element dcterms:tableOfContents { text }\r
-dcterms.abstract |=  \r
+dcterms.abstract =\r
   [\r
     db:refpurpose [ "A summary of the resource."\r
     ]\r
   ]\r
   element dcterms:abstract { text }\r
-dcterms.created |=  \r
+dcterms.created =\r
   [\r
     db:refpurpose [ "Date of creation of the resource."\r
     ]\r
   ]\r
   element dcterms:created { text }\r
-dcterms.valid |=  \r
+dcterms.valid =\r
   [\r
     db:refpurpose [ "Date (often a range) of validity of a resource."\r
     ]\r
   ]\r
   element dcterms:valid { text }\r
-dcterms.available |=  \r
+dcterms.available =\r
   [\r
     db:refpurpose [ "Date (often a range) that the resource became or will become available."\r
     ]\r
   ]\r
   element dcterms:available { text }\r
-dcterms.issued |=  \r
+dcterms.issued =\r
   [\r
     db:refpurpose [ "Date of formal issuance (e.g., publication) of the resource."\r
     ]\r
   ]\r
   element dcterms:issued { text }\r
-dcterms.modified |=  \r
+dcterms.modified =\r
   [\r
     db:refpurpose [ "Date on which the resource was changed."\r
     ]\r
   ]\r
   element dcterms:modified { text }\r
-dcterms.dateAccepted |=  \r
+dcterms.dateAccepted =\r
   [\r
     db:refpurpose [ "Date of acceptance of the resource. Examples of resources to which a Date Accepted may be relevant are a thesis (accepted by a university department) or an article (accepted by a journal)."\r
     ]\r
   ]\r
   element dcterms:dateAccepted { text }\r
-dcterms.dateCopyrighted |=  \r
+dcterms.dateCopyrighted =\r
   [\r
     db:refpurpose [ "Date of copyright."\r
     ]\r
   ]\r
   element dcterms:dateCopyrighted { text }\r
-dcterms.dateSubmitted |= \r
+dcterms.dateSubmitted =\r
   [\r
     db:refpurpose [ "Date of submission of the resource. Examples of resources to which a Date Submitted may be relevant are a thesis (submitted to a university department) or an article (submitted to a journal)."\r
     ]\r
   ]\r
   element dcterms:dateSubmitted { text }\r
-dcterms.extent |= \r
+dcterms.extent =\r
   [\r
     db:refpurpose [ "The size or duration of the resource."\r
     ]\r
   ]\r
   element dcterms:extent { text }\r
-dcterms.medium |= \r
+dcterms.medium =\r
   [\r
     db:refpurpose [ "The material or physical carrier of the resource."\r
     ]\r
   ]\r
   element dcterms:medium { text }\r
-dcterms.isVersionOf |= \r
+dcterms.isVersionOf =\r
   [\r
     db:refpurpose [ "A related resource of which the described resource is a version, edition, or adaptation. Changes in version imply substantive changes in content rather than differences in format."\r
     ]\r
   ]\r
   element dcterms:isVersionOf { text }\r
-dcterms.hasVersion |= \r
+dcterms.hasVersion =\r
   [\r
     db:refpurpose [ "A related resource that is a version, edition, or adaptation of the described resource."\r
     ]\r
   ]\r
   element dcterms:hasVersion { text }\r
-dcterms.isReplacedBy |= \r
+dcterms.isReplacedBy =\r
   [\r
     db:refpurpose [ "A related resource that supplants, displaces, or supersedes the described resource."\r
     ]\r
   ]\r
   element dcterms:isReplacedBy { text }\r
-dcterms.replaces |= \r
+dcterms.replaces =\r
   [\r
     db:refpurpose [ "A related resource that is supplanted, displaced, or superseded by the described resource."\r
     ]\r
   ]\r
   element dcterms:replaces { text }\r
-dcterms.isRequiredBy |= \r
+dcterms.isRequiredBy =\r
   [\r
     db:refpurpose [ "A related resource that requires the described resource to support its function, delivery, or coherence."\r
     ]\r
   ]\r
   element dcterms:isRequiredBy { text }\r
-dcterms.requires |= \r
+dcterms.requires =\r
   [\r
     db:refpurpose [ "A related resource that is required by the described resource to support its function, delivery, or coherence."\r
     ]\r
   ]\r
   element dcterms:requires { text }\r
-dcterms.isPartOf |= \r
+dcterms.isPartOf =\r
   [\r
     db:refpurpose [ "A related resource in which the described resource is physically or logically included."\r
     ]\r
   ]\r
   element dcterms:isPartOf { text }\r
-dcterms.hasPart |= \r
+dcterms.hasPart =\r
   [\r
     db:refpurpose [ "A related resource that is included either physically or logically in the described resource."\r
     ]\r
   ]\r
   element dcterms:hasPart { text }\r
-dcterms.isReferencedBy |= \r
+dcterms.isReferencedBy =\r
   [\r
     db:refpurpose [ "A related resource that references, cites, or otherwise points to the described resource."\r
     ]\r
   ]\r
   element dcterms:isReferencedBy { text }\r
-dcterms.references |= \r
+dcterms.references =\r
   [\r
     db:refpurpose [ "A related resource that is referenced, cited, or otherwise pointed to by the described resource."\r
     ]\r
   ]\r
   element dcterms:references { text }\r
-dcterms.isFormatOf |= \r
+dcterms.isFormatOf =\r
   [\r
     db:refpurpose [ "A related resource that is substantially the same as the described resource, but in another format."\r
     ]\r
   ]\r
   element dcterms:isFormatOf { text }\r
-dcterms.hasFormat |= \r
+dcterms.hasFormat =\r
   [\r
     db:refpurpose [ "A related resource that is substantially the same as the pre-existing described resource, but in another format."\r
     ]\r
   ]\r
   element dcterms:hasFormat { text }\r
-dcterms.conformsTo |= \r
+dcterms.conformsTo =\r
   [\r
     db:refpurpose [ "An established standard to which the described resource conforms."\r
     ]\r
   ]\r
   element dcterms:conformsTo { text }\r
-dcterms.spatial |= \r
+dcterms.spatial =\r
   [\r
     db:refpurpose [ "Spatial characteristics of the resource."\r
     ]\r
   ]\r
   element dcterms:spatial { text }\r
-dcterms.temporal |= \r
+dcterms.temporal =\r
   [\r
     db:refpurpose [ "Temporal characteristics of the resource."\r
     ]\r
   ]\r
   element dcterms:temporal { text }\r
-dcterms.audience |= \r
+dcterms.audience =\r
   [\r
     db:refpurpose [ "A class of entity for whom the resource is intended or useful."\r
     ]\r
   ]\r
   element dcterms:audience { text }\r
-dcterms.accrualMethod |= \r
+dcterms.accrualMethod =\r
   [\r
     db:refpurpose [ "The method by which items are added to a collection."\r
     ]\r
   ]\r
   element dcterms:accrualMethod { text }\r
-dcterms.accrualPeriodicity |= \r
+dcterms.accrualPeriodicity =\r
   [\r
     db:refpurpose [ "The frequency with which items are added to a collection."\r
     ]\r
   ]\r
   element dcterms:accrualPeriodicity { text }\r
-dcterms.accrualPolicy |= \r
+dcterms.accrualPolicy =\r
   [\r
     db:refpurpose [ "The policy governing the addition of items to a collection."\r
     ]\r
   ]\r
   element dcterms:accrualPolicy { text }\r
-dcterms.instructionalMethod |= \r
+dcterms.instructionalMethod =\r
   [\r
     db:refpurpose [ "A process, used to engender knowledge, attitudes and skills, that the described resource is designed to support. Instructional Method will typically include ways of presenting instructional materials or conducting instructional activities, patterns of learner-to-learner and learner-to-instructor interactions, and mechanisms by which group and individual levels of learning are measured. Instructional methods include all aspects of the instruction and learning processes from planning and implementation through evaluation and feedback."\r
     ]\r
   ]\r
   element dcterms:instructionalMethod { text }\r
-dcterms.provenance |= \r
+dcterms.provenance =\r
   [\r
     db:refpurpose [ "A statement of any changes in ownership and custody of the resource since its creation that are significant for its authenticity, integrity, and interpretation. The statement may include a description of any changes successive custodians made to the resource."\r
     ]\r
   ]\r
   element dcterms:provenance { text }\r
-dcterms.rightsHolder |= \r
+dcterms.rightsHolder =\r
   [\r
     db:refpurpose [ "A person or organization owning or managing rights over the resource."\r
     ]\r
   ]\r
   element dcterms:rightsHolder { text }\r
-dcterms.mediator |= \r
+dcterms.mediator =\r
   [\r
     db:refpurpose [ "An entity that mediates access to the resource and for whom the resource is intended or useful. In an educational context, a mediator might be a parent, teacher, teaching assistant, or care-giver."\r
     ]\r
   ]\r
   element dcterms:mediator { text }\r
-dcterms.educationLevel |= \r
+dcterms.educationLevel =\r
   [\r
     db:refpurpose [ "A class of entity, defined in terms of progression through an educational or training context, for which the described resource is intended."\r
     ]\r
   ]\r
   element dcterms:educationLevel { text }\r
-dcterms.accessRights |= \r
+dcterms.accessRights =\r
   [\r
     db:refpurpose [ "Information about who can access the resource or an indication of its security status. Access Rights may include information regarding access or restrictions based on privacy, security, or other policies."\r
     ]\r
   ]\r
   element dcterms:accessRights { text }\r
-dcterms.license |= \r
+dcterms.license =\r
   [\r
     db:refpurpose [ "A legal document giving official permission to do something with the resource."\r
     ]\r
   ]\r
   element dcterms:license { text }\r
-dcterms.bibliographicCitation |= \r
+dcterms.bibliographicCitation =\r
   [\r
     db:refpurpose [ "A bibliographic reference for the resource. Recommended practice is to include sufficient bibliographic detail to identify the resource as unambiguously as possible."\r
     ]\r
   ]\r
   element dcterms: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
+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
+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
+##\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
+##             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
+elementsAndRefinementsGroup = text\r
 \r
-## \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
+##\r
+##\r
+elementOrRefinementContainer =   elementsAndRefinementsGroup\r
 \r
 \r
-## \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
+##             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
+elementsGroup = text\r
 \r
-## \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
+##\r
+##\r
+elementContainer = elementsGroup\r