lib/metanorma/iso/biblio.rng in metanorma-iso-2.8.5 vs lib/metanorma/iso/biblio.rng in metanorma-iso-2.8.6
- old
+ new
@@ -22,179 +22,197 @@
https://www.myintervals.com/blog/2009/05/20/iso-8601-date-validation-that-doesnt-suck/
iso8601date = xsd:string { pattern = "([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24\:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?" }
Somewhat dumbed down for XSD regex:
-->
<define name="ISO8601DateTime">
+ <a:documentation>Date/Time conforming with ISO 8601</a:documentation>
<data type="string">
<param name="pattern">([\+\-]?\d{4})((-?)((0[1-9]|1[0-2])((-?)([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([\.,]\d+)?)?((:?)[0-5]\d([.,]\d+)?)?([zZ]|([\+\-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?</param>
</data>
</define>
<define name="ISO8601Date">
+ <a:documentation>Date conforming with ISO 8601</a:documentation>
<data type="string">
<param name="pattern">([\+\-]?\d{4})((-?)((0[1-9]|1[0-2])((-?)([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6]))))?</param>
</data>
</define>
- <!-- start = bibitem -->
<define name="BibData">
<ref name="BibliographicItem"/>
</define>
<define name="status">
+ <a:documentation>The publication or preparation status of a document</a:documentation>
<element name="status">
- <ref name="stage"/>
+ <ref name="stage">
+ <a:documentation>The stage of the document status, e.g. "Published", "Unpublished", "Committee Draft", "Preprint"</a:documentation>
+ </ref>
<optional>
- <ref name="substage"/>
+ <ref name="substage">
+ <a:documentation>The substage of the document status. These are used particularly in Standards Defining Organizations</a:documentation>
+ </ref>
</optional>
<optional>
- <ref name="iteration"/>
+ <ref name="iteration">
+ <a:documentation>The iteration of the given status that the document is currently in (e.g. "3" for a third draft)</a:documentation>
+ </ref>
</optional>
</element>
</define>
<define name="stage">
+ <a:documentation>The stage of the document status, e.g. "Published", "Unpublished", "Committee Draft", "Preprint"</a:documentation>
<element name="stage">
<optional>
- <attribute name="abbreviation"/>
+ <attribute name="abbreviation">
+ <a:documentation>A canonical abbreviation of the document stage</a:documentation>
+ </attribute>
</optional>
- <text/>
+ <text>
+ <a:documentation>The name of the document stage</a:documentation>
+ </text>
</element>
</define>
<define name="substage">
+ <a:documentation>The substage of the document status. These are used particularly in Standards Defining Organizations</a:documentation>
<element name="substage">
<optional>
- <attribute name="abbreviation"/>
+ <attribute name="abbreviation">
+ <a:documentation>A canonical abbreviation of the document substage</a:documentation>
+ </attribute>
</optional>
- <text/>
+ <text>
+ <a:documentation>The name of the documen substage</a:documentation>
+ </text>
</element>
</define>
<define name="iteration">
<element name="iteration">
<text/>
</element>
</define>
<define name="language">
<element name="language">
- <text/>
+ <ref name="LanguageType"/>
</element>
</define>
<define name="locale">
- <a:documentation>ISO-639</a:documentation>
<element name="locale">
- <text/>
+ <ref name="LocaleType"/>
</element>
</define>
<define name="script">
- <a:documentation>ISO-3166</a:documentation>
<element name="script">
- <text/>
+ <ref name="ScriptType"/>
</element>
</define>
<define name="edition">
- <a:documentation>ISO-15924: Latn</a:documentation>
+ <a:documentation>Edition of a bibliographic item</a:documentation>
<element name="edition">
<optional>
- <attribute name="number"/>
+ <attribute name="number">
+ <a:documentation>Number of edition.
+NOTE: The number attribute can be used to represent the numeric equivalent of the edition string</a:documentation>
+ </attribute>
</optional>
- <text/>
+ <text>
+ <a:documentation>Formatted, human-readable edition string</a:documentation>
+ </text>
</element>
</define>
- <define name="LocalizedStringAttrs">
+ <define name="LocalizedStringAttributes">
+ <a:documentation>multiple values are comma-delimited</a:documentation>
<optional>
- <!-- multiple languages and scripts possible: comma delimit them if so -->
- <attribute name="language"/>
+ <attribute name="language">
+ <ref name="LanguageType"/>
+ </attribute>
</optional>
<optional>
- <attribute name="locale"/>
+ <attribute name="locale">
+ <ref name="LocaleType"/>
+ </attribute>
</optional>
<optional>
- <attribute name="script"/>
+ <attribute name="script">
+ <ref name="ScriptType"/>
+ </attribute>
</optional>
</define>
- <define name="LocalizedString1">
- <!-- multiple languages and scripts possible: comma delimit them if so -->
- <ref name="LocalizedStringAttrs"/>
+ <define name="LocalizedString">
+ <ref name="LocalizedStringAttributes"/>
<text/>
</define>
- <define name="LocalizedString">
- <choice>
- <ref name="LocalizedString1"/>
- <oneOrMore>
- <element name="variant">
- <ref name="LocalizedString1"/>
- </element>
- </oneOrMore>
- </choice>
- </define>
- <define name="LocalizedMarkedUpString1">
- <!-- multiple languages and scripts possible: comma delimit them if so -->
- <ref name="LocalizedStringAttrs"/>
+ <!--
+ LocalizedString =
+ LocalizedStringAttributes,
+ text
+
+ LocalizedString =
+ LocalizedString1 |
+ element variant { LocalizedString1 }+
+ -->
+ <define name="LocalizedMarkedUpString">
+ <ref name="LocalizedStringAttributes"/>
<oneOrMore>
- <ref name="TextElement"/>
+ <ref name="PureTextElement"/>
</oneOrMore>
</define>
- <define name="LocalizedMarkedUpString">
- <choice>
- <ref name="LocalizedMarkedUpString1"/>
- <oneOrMore>
- <element name="variant">
- <ref name="LocalizedMarkedUpString1"/>
- </element>
- </oneOrMore>
- </choice>
- </define>
<!--
+ LocalizedMarkedUpString =
+ LocalizedMarkedUpString1 |
+ Variants of the string, with the same content, but in different language, script, or format
+ element variant { LocalizedMarkedUpString1 }+
+ -->
+ <!--
Unlike UML, change type to format: type is overloaded
Would be need if plain were default value and could omit the attribute
Added LocalizedStringOrXsAny
-->
- <define name="FormattedString">
- <optional>
- <!-- attribute format { ( "plain" | "html" | "docbook" | "tei" | "asciidoc" | "markdown" ) }?, -->
- <attribute name="format">
- <choice>
- <value>text/plain</value>
- <value>text/html</value>
- <value>application/docbook+xml</value>
- <value>application/tei+xml</value>
- <value>text/x-asciidoc</value>
- <value>text/markdown</value>
- <value>application/x-metanorma+xml</value>
- <text/>
- </choice>
- </attribute>
- </optional>
- <ref name="LocalizedStringOrXsAny"/>
- </define>
- <define name="LocalizedStringOrXsAny1">
- <!-- multiple languages and scripts possible: comma delimit them if so -->
- <ref name="LocalizedStringAttrs"/>
+ <!-- LocalizedStringOrXsAny1 = -->
+ <define name="LocalizedStringOrXsAny">
+ <ref name="LocalizedStringAttributes"/>
<oneOrMore>
<choice>
<text/>
<ref name="AnyElement"/>
</choice>
</oneOrMore>
</define>
- <define name="LocalizedStringOrXsAny">
- <choice>
- <ref name="LocalizedStringOrXsAny1"/>
- <oneOrMore>
- <element name="variant">
- <ref name="LocalizedStringOrXsAny1"/>
- </element>
- </oneOrMore>
- </choice>
- </define>
+ <!--
+ LocalizedStringOrXsAny =
+ LocalizedStringOrXsAny1 |
+ element variant { LocalizedStringOrXsAny1 }+
+ -->
<define name="contributor">
+ <a:documentation>String which is formatted according to conventions specified in a named MIME type </a:documentation>
+ <!-- FormattedString = -->
+ <a:documentation>MIME type for string (defailts to text/plain).
+NOTE: `docbook`, `AsciiDoc`, `Metanorma` are not registered IANA Media Types</a:documentation>
+ <!--
+ attribute format {
+ "text/plain" | "text/html" | "application/docbook+xml" |
+ "application/tei+xml" | "text/x-asciidoc" | "text/markdown" | "application/x-metanorma+xml" | text
+ }?,
+ -->
+ <a:documentation>String</a:documentation>
+ <!-- LocalizedStringOrXsAny -->
+ <a:documentation>Description of a contributor to the production of the bibliographic item</a:documentation>
<element name="contributor">
<oneOrMore>
- <ref name="role"/>
+ <ref name="role">
+ <a:documentation>A description of the role of the contributor in the production of the bibliographic item</a:documentation>
+ </ref>
</oneOrMore>
- <ref name="ContributorInfo"/>
+ <ref name="ContributorInfo">
+ <a:documentation>The contributor involved in the production of the bibliographic item.
+May be either a person or an organization</a:documentation>
+ </ref>
</element>
</define>
<define name="role">
+ <a:documentation>A description of the role of the contributor in the production of a bibliographic item</a:documentation>
<element name="role">
<attribute name="type">
+ <a:documentation>The broad class of role of the contributor. Mandatory in order to enforce orderly management of contributors.
+Detailed in https://www.relaton.org/model/creator/</a:documentation>
<choice>
<value>author</value>
<value>performer</value>
<value>publisher</value>
<value>editor</value>
@@ -207,11 +225,13 @@
<value>enabler</value>
<value>subject</value>
</choice>
</attribute>
<zeroOrMore>
- <ref name="roledescription"/>
+ <ref name="roledescription">
+ <a:documentation>A more detailed description of the role of the contributor</a:documentation>
+ </ref>
</zeroOrMore>
</element>
</define>
<define name="ContributorInfo">
<choice>
@@ -223,29 +243,41 @@
<element name="description">
<ref name="LocalizedMarkedUpString"/>
</element>
</define>
<define name="person">
+ <a:documentation>Person associated with a bibliographic item</a:documentation>
<element name="person">
<optional>
- <ref name="fullname"/>
+ <ref name="fullname">
+ <a:documentation>The name of the person</a:documentation>
+ </ref>
</optional>
<zeroOrMore>
- <ref name="credential"/>
+ <ref name="credential">
+ <a:documentation>Credentials given for the person postnominally, e.g. "PhD"</a:documentation>
+ </ref>
</zeroOrMore>
<zeroOrMore>
- <ref name="affiliation"/>
+ <ref name="affiliation">
+ <a:documentation>The affiliation of the person within an organization</a:documentation>
+ </ref>
</zeroOrMore>
<zeroOrMore>
- <ref name="person-identifier"/>
+ <ref name="person-identifier">
+ <a:documentation>An identifier of the person according to an international identifier scheme</a:documentation>
+ </ref>
</zeroOrMore>
<zeroOrMore>
- <ref name="contact"/>
+ <ref name="contact">
+ <a:documentation>Contact information for the person, including URI, address, phone number, and email</a:documentation>
+ </ref>
</zeroOrMore>
</element>
</define>
<define name="fullname">
+ <a:documentation>The name of a person</a:documentation>
<element name="name">
<ref name="FullNameType"/>
</element>
</define>
<define name="credential">
@@ -253,35 +285,60 @@
<text/>
</element>
</define>
<define name="FullNameType">
<optional>
- <ref name="name_abbreviation"/>
+ <ref name="name_abbreviation">
+ <a:documentation>The initials of the person, used as an abbreviation for the person, and including the
+surname. Can be used instead of the complete name. Distinct from formatted-initials,
+which are the initials only of the forenames of the person</a:documentation>
+ </ref>
</optional>
- <choice>
- <group>
- <zeroOrMore>
- <ref name="prefix"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="forename"/>
- </zeroOrMore>
- <optional>
- <ref name="formatted-initials"/>
- </optional>
- <ref name="surname"/>
- <zeroOrMore>
- <ref name="addition"/>
- </zeroOrMore>
- </group>
- <ref name="completeName"/>
- </choice>
+ <group>
+ <zeroOrMore>
+ <ref name="prefix">
+ <a:documentation>A prefixed addition to the name of the person, such as "Dr"</a:documentation>
+ </ref>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="forename">
+ <a:documentation>A forename or given name of the person. Includes middle names</a:documentation>
+ </ref>
+ </zeroOrMore>
+ <optional>
+ <ref name="formatted-initials">
+ <a:documentation>The initials of the person, as a formatted string, including punctuation, dropping
+punctuation as desired, and including hyphens where necessary. For example,
+the initial set for Jean-Paul would be J, P; the formatted initials would be "J.-P."
+or "J-P.". Can be used instead of forenames</a:documentation>
+ </ref>
+ </optional>
+ <optional>
+ <ref name="surname">
+ <a:documentation>The surname, family name, or equivalent of the person</a:documentation>
+ </ref>
+ </optional>
+ <zeroOrMore>
+ <ref name="addition">
+ <a:documentation>A suffixed addition to the name of the person, such as "Jr"</a:documentation>
+ </ref>
+ </zeroOrMore>
+ <optional>
+ <ref name="completeName">
+ <a:documentation>A preformatted version of the name of the person, not broken down into its component parts</a:documentation>
+ </ref>
+ </optional>
+ </group>
<zeroOrMore>
- <ref name="biblionote"/>
+ <ref name="biblionote">
+ <a:documentation>An additional note about the name of the person</a:documentation>
+ </ref>
</zeroOrMore>
<zeroOrMore>
- <ref name="variantname"/>
+ <ref name="variantname">
+ <a:documentation>A variant name of the person</a:documentation>
+ </ref>
</zeroOrMore>
</define>
<define name="name_abbreviation">
<element name="abbreviation">
<ref name="LocalizedString"/>
@@ -306,38 +363,59 @@
<element name="surname">
<ref name="LocalizedString"/>
</element>
</define>
<define name="forename">
+ <a:documentation>A forename of a person</a:documentation>
<element name="forename">
<optional>
- <attribute name="initial"/>
+ <attribute name="initial">
+ <a:documentation>An individual initial of the person, corresponding to the given forename.
+Does not include final punctuation, but can include hyphens.
+Can be used instead of forenames, if formatted-initials are not provided
+(in which case each initial will be punctuated following local practice).</a:documentation>
+ </attribute>
</optional>
- <ref name="LocalizedString"/>
+ <ref name="LocalizedString">
+ <a:documentation>A forename or given name of the person. Includes middle names</a:documentation>
+ </ref>
</element>
</define>
<define name="completeName">
<element name="completename">
<ref name="LocalizedString"/>
</element>
</define>
<define name="variantname">
+ <a:documentation>A variant name of a person</a:documentation>
<element name="variant">
- <attribute name="type"/>
- <ref name="FullNameType"/>
+ <attribute name="type">
+ <a:documentation>The type of variant name for the person. Examples include pseudonyms; user names (online);
+real names (if the person is named with a pseudonym or user name); previous legal names</a:documentation>
+ </attribute>
+ <ref name="FullNameType">
+ <a:documentation>The variant name itself</a:documentation>
+ </ref>
</element>
</define>
<define name="affiliation">
+ <a:documentation>The affiliation of a person with an organization</a:documentation>
<element name="affiliation">
<optional>
- <ref name="affiliationname"/>
+ <ref name="affiliationname">
+ <a:documentation>The name of the affiliation of the person with the organization; typically a position title</a:documentation>
+ </ref>
</optional>
<zeroOrMore>
- <ref name="affiliationdescription"/>
+ <ref name="affiliationdescription">
+ <a:documentation>A more detailed description of the affiliation of the person</a:documentation>
+ </ref>
</zeroOrMore>
<optional>
- <ref name="organization"/>
+ <ref name="organization">
+ <a:documentation>The organization with which the person is affiliated</a:documentation>
+ </ref>
</optional>
</element>
</define>
<define name="affiliationname">
<element name="name">
@@ -348,143 +426,182 @@
<element name="description">
<ref name="LocalizedMarkedUpString"/>
</element>
</define>
<define name="organization">
+ <a:documentation>Organization associated with a bibliographic item</a:documentation>
<element name="organization">
<ref name="OrganizationType"/>
</element>
</define>
<define name="OrganizationType">
<oneOrMore>
- <ref name="orgname"/>
+ <ref name="orgname">
+ <a:documentation>The name of the organization</a:documentation>
+ </ref>
</oneOrMore>
<zeroOrMore>
- <ref name="subdivision"/>
+ <ref name="subdivision">
+ <a:documentation>The subdivision of the organization directly involved with the production of the bibliographic item</a:documentation>
+ </ref>
</zeroOrMore>
<optional>
- <ref name="abbreviation"/>
+ <ref name="abbreviation">
+ <a:documentation>Abbreviation under which the organization is known</a:documentation>
+ </ref>
</optional>
<zeroOrMore>
- <ref name="uri"/>
+ <ref name="org-identifier">
+ <a:documentation>An identifier of the organization according to an international identifier scheme</a:documentation>
+ </ref>
</zeroOrMore>
<zeroOrMore>
- <ref name="org-identifier"/>
+ <ref name="contact">
+ <a:documentation>Contact information for the organization, including address, phone number, and email</a:documentation>
+ </ref>
</zeroOrMore>
- <zeroOrMore>
- <ref name="contact"/>
- </zeroOrMore>
<optional>
- <ref name="logo"/>
+ <ref name="logo">
+ <a:documentation>A logo for the organization</a:documentation>
+ </ref>
</optional>
</define>
<define name="orgname">
<element name="name">
- <choice>
- <ref name="LocalizedString"/>
- <ref name="NameWithVariants"/>
- </choice>
+ <optional>
+ <attribute name="type">
+ <a:documentation>Type of organisation name, to differentiate variant names</a:documentation>
+ </attribute>
+ </optional>
+ <ref name="LocalizedString"/>
</element>
</define>
<define name="subdivision">
+ <a:documentation>Subdivision of organization associated with a bibliographic item</a:documentation>
<element name="subdivision">
<optional>
- <attribute name="type"/>
+ <attribute name="type">
+ <a:documentation>The type of subdivision</a:documentation>
+ </attribute>
</optional>
- <ref name="OrganizationType"/>
+ <ref name="OrganizationType">
+ <a:documentation>The subdivision, modelled recursively as an organization</a:documentation>
+ </ref>
</element>
</define>
<define name="logo">
<element name="logo">
<ref name="image-no-id"/>
</element>
</define>
<define name="depiction">
+ <a:documentation>Depiction of the bibliographic item</a:documentation>
<element name="depiction">
<optional>
- <attribute name="scope"/>
+ <attribute name="scope">
+ <a:documentation>Description of what is being depicted</a:documentation>
+ </attribute>
</optional>
<zeroOrMore>
- <ref name="image-no-id"/>
+ <ref name="image-no-id">
+ <a:documentation>A visual depiction of the bibliographic item</a:documentation>
+ </ref>
</zeroOrMore>
</element>
</define>
- <define name="NameWithVariants">
- <element name="primary">
- <ref name="LocalizedString"/>
- </element>
- <zeroOrMore>
- <element name="variant">
- <ref name="NameWithVariants1"/>
- </element>
- </zeroOrMore>
- </define>
- <define name="NameWithVariants1">
- <attribute name="type"/>
- <element name="primary">
- <ref name="LocalizedString"/>
- </element>
- <zeroOrMore>
- <element name="variant">
- <ref name="NameWithVariants1"/>
- </element>
- </zeroOrMore>
- </define>
+ <!--
+ NameWithVariants =
+ element primary { LocalizedString },
+ element variant { NameWithVariants1 }*
+
+ NameWithVariants1 =
+ attribute type { text },
+ element primary { LocalizedString },
+ element variant { NameWithVariants1 }*
+ -->
<define name="abbreviation">
<element name="abbreviation">
<ref name="LocalizedString"/>
</element>
</define>
<define name="uri">
+ <a:documentation>URI associated with a type</a:documentation>
<element name="uri">
<optional>
- <attribute name="type"/>
+ <attribute name="type">
+ <a:documentation>The types of URI are open-ended, but include the IANA link relations specified in RFC 8288</a:documentation>
+ </attribute>
</optional>
- <data type="anyURI"/>
+ <ref name="LocalizedStringAttributes"/>
+ <data type="anyURI">
+ <a:documentation>URI content</a:documentation>
+ </data>
</element>
</define>
<!-- TODO may change -->
<define name="contact">
+ <a:documentation>Contact information for a person or organization</a:documentation>
<choice>
<ref name="address"/>
<ref name="phone"/>
<ref name="email"/>
<ref name="uri"/>
</choice>
</define>
<define name="phone">
+ <a:documentation>The phone number associated with a person or organization</a:documentation>
<element name="phone">
<optional>
- <attribute name="type"/>
+ <attribute name="type">
+ <a:documentation>The type of phone number; can include "Fax" and "Mobile"</a:documentation>
+ </attribute>
</optional>
- <text/>
+ <text>
+ <a:documentation>The phone number itself</a:documentation>
+ </text>
</element>
</define>
<define name="email">
+ <a:documentation>Email address</a:documentation>
<element name="email">
<text/>
</element>
</define>
<define name="address">
+ <a:documentation>An address for a person or organization</a:documentation>
<element name="address">
- <choice>
+ <zeroOrMore>
<!-- iso191606 TODO -->
- <group>
- <zeroOrMore>
- <ref name="street"/>
- </zeroOrMore>
- <ref name="city"/>
- <optional>
- <ref name="state"/>
- </optional>
- <ref name="country"/>
- <optional>
- <ref name="postcode"/>
- </optional>
- </group>
- <ref name="formattedAddress"/>
- </choice>
+ <ref name="street">
+ <a:documentation>The street and street number or equivalent in the address, as one or more lines of text</a:documentation>
+ </ref>
+ </zeroOrMore>
+ <optional>
+ <ref name="city">
+ <a:documentation>The settlement or municipality in the address</a:documentation>
+ </ref>
+ </optional>
+ <optional>
+ <ref name="state">
+ <a:documentation>The region of the country in the address</a:documentation>
+ </ref>
+ </optional>
+ <optional>
+ <ref name="country">
+ <a:documentation>The country in the address</a:documentation>
+ </ref>
+ </optional>
+ <optional>
+ <ref name="postcode">
+ <a:documentation>The postal code or equivalent in the address</a:documentation>
+ </ref>
+ </optional>
+ <optional>
+ <ref name="formattedAddress">
+ <a:documentation>Preformatted version of the address, not decomposed into its component parts</a:documentation>
+ </ref>
+ </optional>
</element>
</define>
<define name="street">
<element name="street">
<text/>
@@ -510,88 +627,130 @@
<text/>
</element>
</define>
<define name="formattedAddress">
<element name="formattedAddress">
- <text/>
+ <oneOrMore>
+ <choice>
+ <text/>
+ <ref name="br"/>
+ </choice>
+ </oneOrMore>
</element>
</define>
<define name="person-identifier">
+ <a:documentation>An identifier of a person according to an international identifier scheme</a:documentation>
<element name="identifier">
<attribute name="type">
- <choice>
- <value>isni</value>
- <value>orcid</value>
- <value>uri</value>
- </choice>
+ <a:documentation>The international identifier scheme for the identifier of the person.
+Examples include "isni", "orcid", "uri"</a:documentation>
</attribute>
- <text/>
+ <text>
+ <a:documentation>The identifier value</a:documentation>
+ </text>
</element>
</define>
<define name="org-identifier">
+ <a:documentation>An identifier of an organization according to an international identifier scheme</a:documentation>
<element name="identifier">
- <attribute name="type">
- <data type="string" datatypeLibrary=""/>
- </attribute>
- <text/>
+ <optional>
+ <attribute name="type">
+ <a:documentation>The international identifier scheme for the identifier of the organization.
+Examples include GRID, LEI, CrossRef, and Ringgold</a:documentation>
+ </attribute>
+ </optional>
+ <text>
+ <a:documentation>The identifier value</a:documentation>
+ </text>
</element>
</define>
<define name="citation">
+ <a:documentation>Representation of a citation of a bibliographic item, typically within a document</a:documentation>
<element name="citation">
<ref name="CitationType"/>
</element>
</define>
<define name="CitationType">
<attribute name="bibitemid">
+ <a:documentation>Bibliographic item that the citation applies to, referenced as the anchor of a bibliographic description</a:documentation>
<data type="IDREF"/>
</attribute>
<choice>
<zeroOrMore>
- <ref name="locality"/>
+ <ref name="locality">
+ <a:documentation>Describes the location of the cited information resource within the subject of the bibliographic item.
+Multiple ``bibLocality``s are interpreted as discontinuous references.</a:documentation>
+ </ref>
</zeroOrMore>
<zeroOrMore>
- <ref name="localityStack"/>
+ <ref name="localityStack">
+ <a:documentation>Describes the location of the cited information resource within the subject of the bibliographic item in a multi-level manner.
+For example, the hierarchical specification "Part IV, Chapter 3, Paragraphs 22-24"
+is represented as a single `bibLocalityStack`, composed of those three localities
+(as opposed to three `bibLocality` references, which would be treated as three discontinuous references).
+Multiple ``bibLocalityStack``s are themselves interpreted as discontinuous references</a:documentation>
+ </ref>
</zeroOrMore>
</choice>
<optional>
- <ref name="date"/>
+ <ref name="date">
+ <a:documentation>Date of the citation, typically date of publication.
+A combination of the date time elements year, month and day should be specified.
+Specification of month and day are optional.
+This date is not intended for disambiguation, since `bibitemid`
+already identifies the source unambiguously; it is added for ease of processing, in case author-date
+citations cannot straightforwardly extract the date from the bibliographic source</a:documentation>
+ </ref>
</optional>
</define>
<define name="date">
<element name="date">
<ref name="ISO8601Date"/>
</element>
</define>
<define name="locality">
+ <a:documentation>The extent or location of a bibliographic item being referred to.
+A sequence of locality elements is meant to indicate hierarchical ordering, from greater to smaller.
+e.g. Chapter, then page, then paragraph.
+A discontinuous range can be represented by using two adjacent localities with the same type</a:documentation>
<element name="locality">
<ref name="BibItemLocality"/>
</element>
</define>
<define name="localityStack">
+ <a:documentation>Hierarchical arrangement of bibliographic localities, to refer to a single span of text in a bibliographic item</a:documentation>
<element name="localityStack">
<optional>
<attribute name="connective">
+ <a:documentation>Logical connective linking localities. If not supplied, "and" is understood</a:documentation>
<choice>
<value>and</value>
<value>or</value>
<value>from</value>
<value>to</value>
<value/>
</choice>
</attribute>
</optional>
<zeroOrMore>
- <ref name="locality"/>
+ <ref name="locality">
+ <a:documentation>Component bibliographic localities which group together to designate a single span of text.
+Earlier localities are assumed to include later localities, and be of different types;
+e.g. "Chapter 7, paragraph 9–11"</a:documentation>
+ </ref>
</zeroOrMore>
</element>
</define>
<define name="sourceLocality">
+ <a:documentation>The extent or location of a source bibliographic item being related to a target bibliographic item</a:documentation>
<element name="sourceLocality">
<ref name="BibItemLocality"/>
</element>
</define>
<define name="sourceLocalityStack">
+ <a:documentation>Hierarchical arrangement of bibliographic localities, to refer to a single span of text in a source bibliographic item,
+being related to a target bibliographic item</a:documentation>
<element name="sourceLocalityStack">
<optional>
<attribute name="connective">
<choice>
<value>and</value>
@@ -607,20 +766,34 @@
</zeroOrMore>
</element>
</define>
<define name="BibItemLocality">
<attribute name="type">
+ <a:documentation>The type of extent of a locality (e.g. section, clause, page)</a:documentation>
<ref name="LocalityType"/>
</attribute>
<optional>
- <ref name="referenceFrom"/>
+ <ref name="referenceFrom">
+ <a:documentation>The starting value of the extent, or point location</a:documentation>
+ </ref>
</optional>
<optional>
- <ref name="referenceTo"/>
+ <ref name="referenceTo">
+ <a:documentation>The end value of the extent as a range, if applicable</a:documentation>
+ </ref>
</optional>
</define>
<define name="LocalityType">
+ <a:documentation>Type of indicator of a location or extent within a bibliographic item.
+When the value `whole` or `title` is used, the corresponding `BibItemLocality`
+attribute `identifier` should be empty
+`whole` refers to the entire document.
+`list` is used for ordered lists in standards documents
+`time` is used for timestamps in audio and visual media
+`anchor` is used for locations within web pages
+`line` is a line number, dependent on printed form of document
+`locality:...` is an extension point: it allows a free-form text string that is human-readable</a:documentation>
<data type="string">
<param name="pattern">section|clause|part|paragraph|chapter|page|title|line|whole|table|annex|figure|note|list|example|volume|issue|time|anchor|locality:[a-zA-Z0-9_]+</param>
</data>
</define>
<define name="referenceFrom">
@@ -633,174 +806,323 @@
<text/>
</element>
</define>
<!-- unlike UML, has id attribute; that results from including bibitem in a docmodel -->
<define name="bibitem">
+ <a:documentation>Description of a bibliographic item</a:documentation>
<element name="bibitem">
<attribute name="id">
<data type="ID"/>
</attribute>
<ref name="BibliographicItem"/>
</element>
</define>
<define name="bibitem_no_id">
+ <a:documentation>Description of a bibliographic item: no ID attribute (for use in Relaton, metadata)</a:documentation>
<element name="bibitem">
<ref name="BibliographicItem"/>
</element>
</define>
<define name="relaton_collection">
+ <a:documentation>Used to present a group of bibliographic items as a single group;
+e.g. when summarising the collection of standards created by a standards body.
+A collection may be used for bibliographic exchange but is typically not necesary for citation purposes</a:documentation>
<element name="relaton-collection">
<optional>
- <attribute name="type"/>
+ <attribute name="type">
+ <a:documentation>The type of grouping of bibliographic items</a:documentation>
+ </attribute>
</optional>
- <ref name="btitle"/>
+ <ref name="btitle">
+ <a:documentation>The title given to the grouping of bibliographic items</a:documentation>
+ </ref>
<zeroOrMore>
- <ref name="contributor"/>
+ <ref name="contributor">
+ <a:documentation>Contributors to the production of the bibliographic items as a grouping,
+with corporate responsibility for all the items in the group
+(e.g. as compilers of a collection or corporate authors)</a:documentation>
+ </ref>
</zeroOrMore>
<zeroOrMore>
- <ref name="docrelation"/>
+ <ref name="docrelation">
+ <a:documentation>The individual items which constitute the group, expressed as relations to the
+document group. The `type` attribute of each relation is expected to be either `includes` or `hasPart`,
+depending on whether the items exist as independent documents, or are parts of a multi-part document</a:documentation>
+ </ref>
</zeroOrMore>
</element>
</define>
<define name="BibItemType" combine="choice">
+ <a:documentation>Type of bibliographic item.
+The value list complies with the types provided in ISO 690:2021.
+NOTE: These values represent a strict superset to BibTeX
+publication types, and therefore any BibTeX type value can be
+mapped to these values. Some values here do not have a corresponding
+entry in BibTeX, for instance, "standard" and "website".</a:documentation>
<choice>
<value>article</value>
+ <a:documentation>An article from a journal or magazine</a:documentation>
<value>book</value>
+ <a:documentation>A monograph</a:documentation>
<value>booklet</value>
+ <a:documentation>A booklet or pamphlet. The distinction between book and booklet is not made frequently</a:documentation>
<value>manual</value>
+ <a:documentation>A manual</a:documentation>
<value>proceedings</value>
+ <a:documentation>A conference proceedings</a:documentation>
<value>presentation</value>
+ <a:documentation>A presentation given in a formal meeting</a:documentation>
<value>thesis</value>
+ <a:documentation>A dissertation given in an academic institution, as a summation of research</a:documentation>
<value>techreport</value>
+ <a:documentation>A technical report</a:documentation>
<value>standard</value>
+ <a:documentation>A standard, a document issued by a Standards Defining Organization</a:documentation>
<value>unpublished</value>
+ <a:documentation>An intellectual creation which has not been published, e.g. a manuscript.
+NOTE: Properly this does not represent a distinct bibliographic type, and it
+should be avoided in favour of using the `status` element of `BibliographicItem`</a:documentation>
<value>map</value>
+ <a:documentation>A map or other cartographic resource</a:documentation>
<value>electronic resource</value>
+ <a:documentation>A resource avaiulable in digital form
+NOTE: The overloaded type `electronicResource` should be avoided where possible, particularly if the
+resource corresponds closely to a paper bibliographic type, such as `book` or `article`.
+The distinction between offline and online resources should be made through `medium` (electronic vs physical).
+Specialisations of `electronicResource` include `dataset`, `webResource`, `website`,
+`socialMedia`, and `software`.</a:documentation>
<value>audiovisual</value>
+ <a:documentation>An audiovisual resource. Is a superclass of other types such as `video` and `music`</a:documentation>
<value>film</value>
+ <a:documentation>A film</a:documentation>
<value>video</value>
+ <a:documentation>A video</a:documentation>
<value>broadcast</value>
+ <a:documentation>A broadcast made through mass media, including radio and television</a:documentation>
<value>software</value>
+ <a:documentation>Computer executable code, not itself human-readable text (though it may generate such text)</a:documentation>
<value>graphic_work</value>
+ <a:documentation>A graphic work, a work with two-dimensional or three-dimensional content</a:documentation>
<value>music</value>
+ <a:documentation>A musical work. Includes both notated music and music performances:
+The two are differentiated through `BibliographicItem/medium/content` as "notated music" vs "performed music"</a:documentation>
<value>patent</value>
+ <a:documentation>A patent</a:documentation>
<value>inbook</value>
+ <a:documentation>A (typically untitled) part of a book. May be a chapter (or section, etc.) and/or a range of pages</a:documentation>
<value>incollection</value>
+ <a:documentation>A part of a book having its own title, and typically having distinct authorship</a:documentation>
<value>inproceedings</value>
+ <a:documentation>An article in a conference proceedings</a:documentation>
<value>journal</value>
+ <a:documentation>A journal or periodical publication</a:documentation>
<value>website</value>
+ <a:documentation>A collection of web resources, presented under the same URL domain and under the same (individual or corporate) authorship</a:documentation>
<value>webresource</value>
+ <a:documentation>A human-readable or consumable web resource, a single item accessible online via a web browser,
+which is not composed of components all of which can be accessed in the same way.
+Includes media files, as well as individual web pages</a:documentation>
<value>dataset</value>
+ <a:documentation>An electronic dataset, a collection of data that is not meant to be human-readable, and which is typically only machine readable</a:documentation>
<value>archival</value>
+ <a:documentation>A instance of a resource curated and preserved in an archive, which mediates any access to it.
+Typically it is physical, unique, and unpublished.
+ NOTE: The content of the resource may be published separately,
+ but that makes it a distinct bibliographic item, as access to it is no longer mediated through the archive</a:documentation>
<value>social_media</value>
+ <a:documentation>One or more resources within a collection that is typically collectively authored by member users.
+Includes blog posts, forum posts, social media posts, tweets. Is usually a `webResource`,
+but not always (e.g. blogs on WeChat are only accessible within the WeChat app.)</a:documentation>
<value>alert</value>
+ <a:documentation>A single communication intended for multiple persons, and publicly accessible.
+May be electronic (e.g. Facebook status update) or voice (e.g. evacuation alert), but is typically not print</a:documentation>
<value>message</value>
+ <a:documentation>A single communication intended for a restricted number of authorised persons (typically one).
+May be electronic (e.g. Twitter direct message, email) or voice (e.g. a remark made to someone,
+typically cited as "personal communication")</a:documentation>
<value>conversation</value>
+ <a:documentation>An exchange of messages between two or more persons. May be electronic (e.g. web chat) or voice (e.g. phone call)</a:documentation>
<value>misc</value>
+ <a:documentation>Bibliographic type not adequately described in the foregoing</a:documentation>
</choice>
</define>
<define name="BibliographicItem">
+ <a:documentation>Description of a bibliographic resource</a:documentation>
<optional>
<attribute name="type">
+ <a:documentation>The type of the bibliographic item</a:documentation>
<ref name="BibItemType"/>
</attribute>
</optional>
<optional>
- <attribute name="schema-version"/>
+ <attribute name="schema-version">
+ <a:documentation>The version of the Relaton schema that this description conforms to</a:documentation>
+ </attribute>
</optional>
<optional>
- <ref name="fetched"/>
+ <ref name="fetched">
+ <a:documentation>The date at which the bibliographic item was last updated</a:documentation>
+ </ref>
</optional>
<optional>
- <ref name="formattedref"/>
+ <ref name="formattedref">
+ <a:documentation>A pre-formatted version of the full bibliographic item reference,
+rendered for human reading, and used to sidestep the rendering of the reference out of its component parts</a:documentation>
+ </ref>
</optional>
<oneOrMore>
- <ref name="btitle"/>
+ <ref name="btitle">
+ <a:documentation>The title(s) of the bibliographic item</a:documentation>
+ </ref>
</oneOrMore>
<zeroOrMore>
- <ref name="bsource"/>
+ <ref name="bsource">
+ <a:documentation>The URI(s) associated with the bibliographic item</a:documentation>
+ </ref>
</zeroOrMore>
<oneOrMore>
- <ref name="docidentifier"/>
+ <ref name="docidentifier">
+ <a:documentation>The identifier(s) of the bibliographic item in an international standard scheme</a:documentation>
+ </ref>
</oneOrMore>
<optional>
- <ref name="docnumber"/>
+ <ref name="docnumber">
+ <a:documentation>Unprefixed, preferably numeric version of an identifier of the bibliographic item, intended for sorting of bibliography</a:documentation>
+ </ref>
</optional>
<zeroOrMore>
- <ref name="bdate"/>
+ <ref name="bdate">
+ <a:documentation>One or more date-times associated with the production of or access to the bibliographic item</a:documentation>
+ </ref>
</zeroOrMore>
<zeroOrMore>
- <ref name="contributor"/>
+ <ref name="contributor">
+ <a:documentation>Contributors to the production of the bibliographic item</a:documentation>
+ </ref>
</zeroOrMore>
<optional>
- <ref name="edition"/>
+ <ref name="edition">
+ <a:documentation>The edition of the bibliographic item</a:documentation>
+ </ref>
</optional>
<zeroOrMore>
- <ref name="version"/>
+ <ref name="version">
+ <a:documentation>The version of the bibliographic item (within an edition). Can be used for drafts.
+Can be more than one, in case of multiple versioning schemes</a:documentation>
+ </ref>
</zeroOrMore>
<zeroOrMore>
- <ref name="biblionote"/>
+ <ref name="biblionote">
+ <a:documentation>Note(s) associated with the bibliographic item</a:documentation>
+ </ref>
</zeroOrMore>
<zeroOrMore>
- <ref name="language"/>
+ <ref name="language">
+ <a:documentation>The language(s) in which the bibliographic item is expressed</a:documentation>
+ </ref>
</zeroOrMore>
<zeroOrMore>
- <ref name="locale"/>
+ <ref name="locale">
+ <a:documentation>The locale(s) in which the bibliographic item is expressed</a:documentation>
+ </ref>
</zeroOrMore>
<zeroOrMore>
- <ref name="script"/>
+ <ref name="script">
+ <a:documentation>The script(s) in which the bibliographic item is written</a:documentation>
+ </ref>
</zeroOrMore>
<zeroOrMore>
- <ref name="bibabstract"/>
+ <ref name="bibabstract">
+ <a:documentation>The abstract of the bibliographic item</a:documentation>
+ </ref>
</zeroOrMore>
<optional>
- <ref name="status"/>
+ <ref name="status">
+ <a:documentation>The publication or preparation status of the bibliographic item</a:documentation>
+ </ref>
</optional>
<zeroOrMore>
- <ref name="copyright"/>
+ <ref name="copyright">
+ <a:documentation>The copyright status of the bibliographic item</a:documentation>
+ </ref>
</zeroOrMore>
<zeroOrMore>
- <ref name="docrelation"/>
+ <ref name="docrelation">
+ <a:documentation>The relation(s) of the bibliographic item to other bibliographic items</a:documentation>
+ </ref>
</zeroOrMore>
<zeroOrMore>
- <ref name="series"/>
+ <ref name="series">
+ <a:documentation>The series of the bibliographic item</a:documentation>
+ </ref>
</zeroOrMore>
<optional>
- <ref name="medium"/>
+ <ref name="medium">
+ <a:documentation>The medium the subject is realized on.
+Medium can be used to differentiate between "electronic" and "physical" manifestations of an information resource.</a:documentation>
+ </ref>
</optional>
<zeroOrMore>
- <ref name="bplace"/>
+ <ref name="bplace">
+ <a:documentation>The geographic location associated with the production of the bibliographic item</a:documentation>
+ </ref>
</zeroOrMore>
<zeroOrMore>
- <ref name="bprice"/>
+ <ref name="bprice">
+ <a:documentation>The price set on accessing the bibliographic item.
+The price should be treated as nominal, rather than capturing all possible pricings at a given time</a:documentation>
+ </ref>
</zeroOrMore>
<zeroOrMore>
- <ref name="extent"/>
+ <ref name="extent">
+ <a:documentation>The extent of the bibliographic item, if reference is not being made to the entirety of the item described.
+Repeats for different levels of granularity (e.g. volume number, page number), or for discontinuous ranges
+(e.g. multiple page ranges, pages plus plates)</a:documentation>
+ </ref>
</zeroOrMore>
<optional>
- <ref name="bibliographic_size"/>
+ <ref name="bibliographic_size">
+ <a:documentation>The bibliographic size of the bibliographic item, measured in the same units as extent (i.e. pages, volumes,
+megabytes, hours, rather than cm^2.) Distinct from the physical size of the bibliographic item, captured in medium/size</a:documentation>
+ </ref>
</optional>
<zeroOrMore>
- <ref name="accesslocation"/>
+ <ref name="accesslocation">
+ <a:documentation>The location where the bibliographic item may be accessed.
+Used for archival resources. Also used for pathways to access digital resources, where a URI is not practical</a:documentation>
+ </ref>
</zeroOrMore>
<zeroOrMore>
- <ref name="license"/>
+ <ref name="license">
+ <a:documentation>A license under which the bibliographic item has been issued.
+NOTE: This should preferably be encoded as a URI or short identifier, rather than descriptive text</a:documentation>
+ </ref>
</zeroOrMore>
<zeroOrMore>
- <ref name="bclassification"/>
+ <ref name="bclassification">
+ <a:documentation>The classification of the bibliographic item according to a standard classification scheme</a:documentation>
+ </ref>
</zeroOrMore>
<zeroOrMore>
- <ref name="bkeyword"/>
+ <ref name="bkeyword">
+ <a:documentation>Keyword(s) for the bibliographic item</a:documentation>
+ </ref>
</zeroOrMore>
<optional>
- <ref name="validity"/>
+ <ref name="validity">
+ <a:documentation>Information about how long the current description of the bibliographic item is valid for</a:documentation>
+ </ref>
</optional>
<optional>
- <ref name="depiction"/>
+ <ref name="depiction">
+ <a:documentation>Depiction of the bibliographic item, typically an image</a:documentation>
+ </ref>
</optional>
</define>
<define name="ReducedBibliographicItem">
+ <a:documentation>Reduced description of a bibliographic resource, without mandatory title and docidentifier, used for document relations
+Refer to `BibliographicItem` for definitions</a:documentation>
<optional>
<attribute name="type">
<ref name="BibItemType"/>
</attribute>
</optional>
@@ -897,10 +1219,11 @@
<optional>
<ref name="depiction"/>
</optional>
</define>
<define name="btitle">
+ <a:documentation>A title of a bibliographic item, associated with a type of title</a:documentation>
<element name="title">
<ref name="TypedTitleString"/>
</element>
</define>
<define name="bsource">
@@ -924,19 +1247,27 @@
<element name="fetched">
<ref name="ISO8601DateTime"/>
</element>
</define>
<define name="validity">
+ <a:documentation>The time interval for which a bibliographic item is determined valid, and the associated revision date</a:documentation>
<element name="validity">
<optional>
- <ref name="validityBegins"/>
+ <ref name="validityBegins">
+ <a:documentation>The date and time when this bibliographic item becomes valid</a:documentation>
+ </ref>
</optional>
<optional>
- <ref name="validityEnds"/>
+ <ref name="validityEnds">
+ <a:documentation>The date and time when this bibliographic item becomes invalid</a:documentation>
+ </ref>
</optional>
<optional>
- <ref name="validityRevision"/>
+ <ref name="validityRevision">
+ <a:documentation>The date and time of issuance of the version of the document
+for which this claim of validity is made, if applicable</a:documentation>
+ </ref>
</optional>
</element>
</define>
<define name="validityBegins">
<element name="validityBegins">
@@ -953,140 +1284,219 @@
<ref name="ISO8601DateTime"/>
</element>
</define>
<define name="TypedTitleString">
<optional>
- <attribute name="type"/>
+ <attribute name="type">
+ <a:documentation>Type of title given to a bibliographic item. Indicative values include:
+"alternative": alternate title for the item
+"original": The original title of the item. Includes the source language title of a translated item
+"unofficial": A title that has become prevalent but has never been the official or intended title of the item
+"subtitle": Subsidiary title of the item
+"main": The default title of the item, privileged in citation</a:documentation>
+ </attribute>
</optional>
- <ref name="LocalizedMarkedUpString"/>
+ <optional>
+ <attribute name="format">
+ <a:documentation>(legacy attribute) format; can have value text/plain</a:documentation>
+ </attribute>
+ </optional>
+ <ref name="LocalizedMarkedUpString">
+ <a:documentation>Content of title</a:documentation>
+ </ref>
</define>
<!-- TitleType = ( "alternative" | "original" | "unofficial" | "subtitle" | "main" ) -->
<define name="TypedUri">
+ <a:documentation>URI with type</a:documentation>
<optional>
- <attribute name="type"/>
+ <attribute name="type">
+ <a:documentation>Type of URI</a:documentation>
+ </attribute>
</optional>
- <optional>
- <attribute name="language"/>
- </optional>
- <optional>
- <attribute name="locale"/>
- </optional>
- <optional>
- <attribute name="script"/>
- </optional>
+ <ref name="LocalizedStringAttributes"/>
<data type="anyURI"/>
</define>
<define name="DateType">
+ <a:documentation>Type which allows date and time to be specified as either a Gregorian
+date and time, as specified in ISO 8601, as text, or as both</a:documentation>
<optional>
- <attribute name="text"/>
+ <attribute name="text">
+ <a:documentation>Date and time, as specified in text</a:documentation>
+ </attribute>
</optional>
<optional>
- <ref name="ISO8601Date"/>
+ <group>
+ <a:documentation>Gregorian date and time, as specified in ISO 8601. Can be used
+as a canonical interpretation of the date and time given in `text`</a:documentation>
+ <ref name="ISO8601Date"/>
+ </group>
</optional>
</define>
<define name="BibliographicDateType">
+ <a:documentation>Indicates type of date within a bibliographic lifecycle.
+NOTE: Typically only the `published` date is of interest</a:documentation>
<choice>
<value>published</value>
+ <a:documentation>The date on which the document was published (distributed by the publisher)</a:documentation>
<value>accessed</value>
+ <a:documentation>Date a document was last accessed by the compiler of the bibliographic record; routinely used for online publications.
+NOTE: Unlike in ISO 690:2021, no distinction is made between
+"viewed" and "accessed" based on whether the resource is human-readable or machine-readable.)</a:documentation>
<value>created</value>
+ <a:documentation>The date on which the first version of the document was created</a:documentation>
<value>implemented</value>
+ <a:documentation>The date on which the document takes effect. Applies to normative documents</a:documentation>
<value>obsoleted</value>
+ <a:documentation>The date on which the document was obsoleted/</a:documentation>
<value>confirmed</value>
+ <a:documentation>The date on which the document was reviewed and approved by the issuing authority</a:documentation>
<value>updated</value>
+ <a:documentation>The date on which the current version of the document was updated</a:documentation>
<value>corrected</value>
+ <a:documentation>The date on which the current version of the document was corrected, without that correction considered to amount to a full document update</a:documentation>
<value>issued</value>
+ <a:documentation>The date on which the document was issued (authorised for publication by the issuing authority).
+Is typically differentiated from `published` for normative documents, such as standards and legislation</a:documentation>
<value>transmitted</value>
+ <a:documentation>The date on which the document was broadcast</a:documentation>
<value>copied</value>
+ <a:documentation>The date on which the document physically copied, or recreated without any substantial change in content (allowing for change in medium)</a:documentation>
<value>unchanged</value>
+ <a:documentation>The date on which the document was last renewed or reprinted without any changes in content</a:documentation>
<value>circulated</value>
+ <a:documentation>The date on which the unpublished document was last circulated officially as a preprint.
+For standards, this is associated with the latest transition to a formally defined preparation stage,
+such as Working Draft or Committee Draft</a:documentation>
<value>adapted</value>
+ <a:documentation>The date on which a document adapted for a new purpose or audience, with some change in content (includes translation)</a:documentation>
<value>vote-started</value>
+ <a:documentation>The date on which a formal process for approval of a document was initiated. Typically applies to standards documents in draft</a:documentation>
<value>vote-ended</value>
+ <a:documentation>The date on which a formal process for approval of a document was closed. Typically applies to standards documents in draft</a:documentation>
<value>announced</value>
+ <a:documentation>The date on which the existence of a document is made public.
+Applies whether the resource has already been created or not, and whether it is to be published or not</a:documentation>
<value>stable-until</value>
+ <a:documentation>The document is guaranteed not to be changed or updated until this date</a:documentation>
</choice>
</define>
<define name="bdate">
+ <a:documentation>Significant date in the lifecycle of the bibliographic item, including its production and its access</a:documentation>
<element name="date">
<attribute name="type">
+ <a:documentation>The phase of the production of or access to a bibliographic item</a:documentation>
<choice>
<ref name="BibliographicDateType"/>
<text/>
</choice>
</attribute>
<optional>
- <attribute name="text"/>
+ <attribute name="text">
+ <a:documentation>An optional textual description of the date, especially when a Gregorian date is not applicable</a:documentation>
+ </attribute>
</optional>
<optional>
<choice>
<group>
<element name="from">
+ <a:documentation>The start of the date range described</a:documentation>
<ref name="ISO8601Date"/>
</element>
<optional>
<element name="to">
+ <a:documentation>The end of the date range described</a:documentation>
<ref name="ISO8601Date"/>
</element>
</optional>
</group>
<element name="on">
+ <a:documentation>The point date described</a:documentation>
<ref name="ISO8601Date"/>
</element>
</choice>
</optional>
</element>
</define>
<define name="docidentifier">
+ <a:documentation>An identifier of a bibliographic item in an international standard scheme</a:documentation>
<element name="docidentifier">
- <optional>
- <attribute name="type"/>
- </optional>
- <optional>
- <attribute name="scope"/>
- </optional>
- <optional>
- <attribute name="primary">
- <data type="boolean"/>
- </attribute>
- </optional>
- <ref name="LocalizedMarkedUpString"/>
+ <ref name="DocIdentifierType"/>
</element>
</define>
+ <define name="DocIdentifierType">
+ <optional>
+ <attribute name="type">
+ <a:documentation>The scheme or namespace of the identifier</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="scope">
+ <a:documentation>The scope of the identifier, in case the identifier does not apply to the document
+but to a superset or subset of entities; or in case the identifier
+is for a particular instance of the document, e.g. for a particular format or edition of the document</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="primary">
+ <a:documentation>This is a primary identifier for the item, to be used in citation</a:documentation>
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ <ref name="LocalizedMarkedUpString">
+ <a:documentation>The identifier string</a:documentation>
+ </ref>
+ </define>
<define name="docnumber">
<element name="docnumber">
<text/>
</element>
</define>
<define name="bclassification">
<element name="classification">
- <optional>
- <attribute name="type"/>
- </optional>
- <text/>
+ <ref name="DocIdentifierType"/>
</element>
</define>
<define name="bplace">
+ <a:documentation>Place associated with the production of a bibliographic item</a:documentation>
<element name="place">
- <choice>
- <text/>
- <group>
- <ref name="bibliocity"/>
- <zeroOrMore>
- <ref name="biblioregion"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="bibliocountry"/>
- </zeroOrMore>
- </group>
- </choice>
+ <optional>
+ <ref name="bibliocity">
+ <a:documentation>City</a:documentation>
+ </ref>
+ </optional>
+ <zeroOrMore>
+ <ref name="biblioregion">
+ <a:documentation>Region that city is located in, given for disambiguation purposes.</a:documentation>
+ </ref>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bibliocountry">
+ <a:documentation>Country that city is located in, given for disambiguation purposes.</a:documentation>
+ </ref>
+ </zeroOrMore>
+ <optional>
+ <ref name="formattedPlace">
+ <a:documentation>Name of the place, not broken down semantically</a:documentation>
+ </ref>
+ </optional>
+ <optional>
+ <ref name="uri">
+ <a:documentation>URI in a geographical registry identifying the place</a:documentation>
+ </ref>
+ </optional>
</element>
</define>
<define name="bibliocity">
<element name="city">
<text/>
</element>
</define>
+ <define name="formattedPlace">
+ <element name="formattedPlace">
+ <text/>
+ </element>
+ </define>
<define name="biblioregion">
<element name="region">
<ref name="RegionType"/>
</element>
</define>
@@ -1094,45 +1504,94 @@
<element name="country">
<ref name="RegionType"/>
</element>
</define>
<define name="RegionType">
+ <a:documentation>Encoding of region in bibliographic `place`. ISO 3166 encoding is recommended</a:documentation>
<optional>
- <attribute name="iso"/>
+ <attribute name="iso">
+ <a:documentation>ISO 3166 encoding</a:documentation>
+ </attribute>
</optional>
<optional>
<attribute name="recommended">
+ <a:documentation>Whether the region should be included in rendering of the place, for disambiguation</a:documentation>
<data type="boolean"/>
</attribute>
</optional>
+ <optional>
+ <text>
+ <a:documentation>Name of the region</a:documentation>
+ </text>
+ </optional>
+ </define>
+ <define name="CurrencyType">
+ <a:documentation>Code for currencies, taken from ISO 4217</a:documentation>
<text/>
</define>
<define name="bprice">
+ <a:documentation>The price set on accessing the bibliographic item</a:documentation>
<element name="price">
- <attribute name="currency"/>
- <text/>
+ <attribute name="currency">
+ <a:documentation>The currency denomination for the price</a:documentation>
+ <ref name="CurrencyType"/>
+ </attribute>
+ <text>
+ <a:documentation>The currency amount for the price</a:documentation>
+ </text>
</element>
</define>
<define name="medium">
+ <a:documentation>Information about the medium and transmission of a bibliographic item</a:documentation>
<element name="medium">
<optional>
- <ref name="bcontent"/>
+ <ref name="bcontent">
+ <a:documentation>The content type of the bibliographic item, reflecting the form of
+communication with which it is expressed and perceived. For example,
+`text`, `video`, `audio`.</a:documentation>
+ <a:documentation>NOTE: This field is intended to convey the
+Content attribute of the MARC and Resource Description and Access
+standards, although its values are not restricted to that
+vocabulary; see http://www.loc.gov/standards/valuelist/rdacontent.html</a:documentation>
+ </ref>
</optional>
<optional>
- <ref name="genre"/>
+ <ref name="genre">
+ <a:documentation>The genre of the bibliographic item, as a classification of the
+type of communication it represents that is more specific than `content` or `BibliographicItem/type`.
+For example, "statistical dataset"</a:documentation>
+ </ref>
</optional>
<optional>
- <ref name="form"/>
+ <ref name="form">
+ <a:documentation>The media type of the bibliographic item, used to access the content
+of the item, including file format for electronic media.</a:documentation>
+ <a:documentation>NOTE: This field is intended to convey the
+Media attribute of the MARC and Resource Description and Access
+standards, although its values are not restricted to that
+vocabulary; see http://www.loc.gov/standards/valuelist/rdamedia.html
+IANA Media Types are recommended for electronic resources</a:documentation>
+ </ref>
</optional>
<optional>
- <ref name="carrier"/>
+ <ref name="carrier">
+ <a:documentation>The storage medium of the physical representation of the bibliographic item.</a:documentation>
+ <a:documentation>NOTE: This field is intended to convey the
+Carrier attribute of the MARC and Resource Description and Access
+standards, although its values are not restricted to that
+vocabulary; see https://www.loc.gov/standards/valuelist/rdacarrier.html</a:documentation>
+ </ref>
</optional>
<optional>
- <ref name="size"/>
+ <ref name="size">
+ <a:documentation>The size of the physical representation of the bibliographic item</a:documentation>
+ </ref>
</optional>
<optional>
- <ref name="scale"/>
+ <ref name="scale">
+ <a:documentation>The scale of the cartographic material in the bibliographic item</a:documentation>
+ </ref>
</optional>
</element>
</define>
<define name="bcontent">
<element name="content">
@@ -1168,13 +1627,23 @@
<element name="accesslocation">
<text/>
</element>
</define>
<define name="sizevalue">
+ <a:documentation>The size of a bibliographic item being referred to.
+A sequence of sizes can be used to indicate different numberings, e.g. xii + 40 pp.,
+or different kinds of measures, e.g. pages + plates</a:documentation>
<element name="value">
- <attribute name="type"/>
- <text/>
+ <attribute name="type">
+ <a:documentation>The type of size. Recommended values: page, volume, time (in ISO 8601 duration values),
+data (including unit), value (free-form string)</a:documentation>
+ </attribute>
+ <optional>
+ <text>
+ <a:documentation>The quantity of the size</a:documentation>
+ </text>
+ </optional>
</element>
</define>
<define name="bibliographic_size">
<element name="size">
<oneOrMore>
@@ -1193,52 +1662,84 @@
</zeroOrMore>
</choice>
</element>
</define>
<define name="series">
+ <a:documentation>Series to which a bibliographic item belongs. Series is to be understood broadly,
+and it includes monograph series, journals, newspapers, and report series within
+which the bibliographic item has appeared</a:documentation>
<element name="series">
<optional>
<attribute name="type">
+ <a:documentation>The type of series description expressed in this container</a:documentation>
<ref name="SeriesType"/>
</attribute>
</optional>
<optional>
- <ref name="formattedref"/>
+ <ref name="formattedref">
+ <a:documentation>A pre-formatted version of the series description, incorporating
+all needed disambiguating information in human-readable format</a:documentation>
+ </ref>
</optional>
<oneOrMore>
- <ref name="btitle"/>
+ <ref name="btitle">
+ <a:documentation>The title of the series</a:documentation>
+ </ref>
</oneOrMore>
<optional>
- <ref name="bplace"/>
+ <ref name="bplace">
+ <a:documentation>The place where the series is issued; used for disambiguation</a:documentation>
+ </ref>
</optional>
<optional>
- <ref name="seriesorganization"/>
+ <ref name="seriesorganization">
+ <a:documentation>The organization issuing the series; used for disambiguation</a:documentation>
+ </ref>
</optional>
<optional>
- <ref name="abbreviation"/>
+ <ref name="abbreviation">
+ <a:documentation>The abbreviation under which the series is known</a:documentation>
+ </ref>
</optional>
<optional>
- <ref name="seriesfrom"/>
+ <ref name="seriesfrom">
+ <a:documentation>The start of the date range when the series has been known under the given title</a:documentation>
+ </ref>
</optional>
<optional>
- <ref name="seriesto"/>
+ <ref name="seriesto">
+ <a:documentation>The end of the date range when the series has been known under the given title</a:documentation>
+ </ref>
</optional>
<optional>
- <ref name="seriesnumber"/>
+ <ref name="seriesnumber">
+ <a:documentation>The number of the bibliographic item within the series</a:documentation>
+ </ref>
</optional>
<optional>
- <ref name="seriespartnumber"/>
+ <ref name="seriespartnumber">
+ <a:documentation>The part-number of the bibliographic item within the series. For example,
+if the series is a journal, the number is the volume number, and the partnumber is the issue number</a:documentation>
+ </ref>
</optional>
<optional>
- <ref name="seriesrun"/>
+ <ref name="seriesrun">
+ <a:documentation>An iteration of numbering of the series, if the series has restarted numbering
+(as occurs in some journals); referred to as "series" in the context of journals.
+For example, "n.s." (new series) or "2" indicates
+that the `number` given for the series applies to the second iteration of numbering</a:documentation>
+ </ref>
</optional>
</element>
</define>
<define name="SeriesType">
+ <a:documentation>The type of series description given</a:documentation>
<choice>
<value>main</value>
+ <a:documentation>Default type: The current, authoritative series description</a:documentation>
<value>alt</value>
+ <a:documentation>An alternative, potentially historical series description</a:documentation>
<text/>
</choice>
</define>
<define name="seriesorganization">
<element name="organization">
@@ -1269,44 +1770,67 @@
<element name="run">
<text/>
</element>
</define>
<define name="biblionote">
+ <a:documentation>A note associated with the bibliographic item</a:documentation>
<element name="note">
<optional>
- <attribute name="type"/>
+ <attribute name="type">
+ <a:documentation>The class of the note associated with the bibliographic item.
+May be used to differentiate rendering of notes in bibliographies</a:documentation>
+ </attribute>
</optional>
- <ref name="LocalizedMarkedUpString"/>
+ <ref name="LocalizedMarkedUpString">
+ <a:documentation>The content of the note</a:documentation>
+ </ref>
</element>
</define>
<define name="bibabstract">
+ <a:documentation>Abstract of bibliographic item</a:documentation>
<element name="abstract">
- <ref name="LocalizedStringAttrs"/>
+ <ref name="LocalizedStringAttributes"/>
<choice>
<oneOrMore>
- <ref name="BasicBlockNoId"/>
+ <ref name="BasicBlockNoId">
+ <a:documentation>Multiple blocks of content</a:documentation>
+ </ref>
</oneOrMore>
<oneOrMore>
- <ref name="TextElement"/>
+ <ref name="TextElement">
+ <a:documentation>Single block of content</a:documentation>
+ </ref>
</oneOrMore>
</choice>
</element>
</define>
<define name="copyright">
+ <a:documentation>The copyright status of a bibliographic item.</a:documentation>
<element name="copyright">
- <ref name="from"/>
+ <ref name="from">
+ <a:documentation>The copyright date of the bibliographic item</a:documentation>
+ </ref>
<optional>
- <ref name="to"/>
+ <ref name="to">
+ <a:documentation>The date when the copyright of the bibliographic item expires</a:documentation>
+ </ref>
</optional>
<oneOrMore>
- <ref name="owner"/>
+ <ref name="owner">
+ <a:documentation>The copyright owner for the bibliographic item.</a:documentation>
+ </ref>
</oneOrMore>
<optional>
- <ref name="copyright_scope"/>
+ <ref name="copyright_scope">
+ <a:documentation>The extent of the bibliographic item, or contexts of use, for which this
+assertion of copyright applies. For example, this description may only apply
+to the preface of a book</a:documentation>
+ </ref>
</optional>
</element>
</define>
+ <!-- TODO potentially should be locality | localityStack -->
<define name="copyright_scope">
<element name="scope">
<text/>
</element>
</define>
@@ -1319,15 +1843,18 @@
<element name="to">
<data type="gYear"/>
</element>
</define>
<define name="owner">
+ <a:documentation>Copyright owner</a:documentation>
<element name="owner">
<ref name="ContributorInfo"/>
</element>
</define>
<define name="DocRelationType">
+ <a:documentation>Type of the relationship between a main document (described in `BibliographicItem`) and a target document
+Detailed in https://www.relaton.org/model/relations/</a:documentation>
<choice>
<value>includes</value>
<value>includedIn</value>
<value>hasPart</value>
<value>partOf</value>
@@ -1385,47 +1912,60 @@
<value>cites</value>
<value>isCitedIn</value>
</choice>
</define>
<define name="docrelation">
+ <a:documentation>Relation between a bibliographic item and another bibliographic item</a:documentation>
<element name="relation">
<attribute name="type">
+ <a:documentation>The type of document relation described, using a controlled vocabulary</a:documentation>
<ref name="DocRelationType"/>
</attribute>
<optional>
<element name="description">
+ <a:documentation>A more complete description of the type of document relation described</a:documentation>
<ref name="LocalizedMarkedUpString"/>
</element>
</optional>
<element name="bibitem">
+ <a:documentation>The target bibliographic item to which this bibliographic item is described as related to</a:documentation>
<ref name="ReducedBibliographicItem"/>
</element>
<choice>
+ <a:documentation>The extent of the target bibliographic item which is related to this bibliographic item,
+provided that it is not the entire bibliographic item that is so related</a:documentation>
<zeroOrMore>
<ref name="locality"/>
</zeroOrMore>
<zeroOrMore>
<ref name="localityStack"/>
</zeroOrMore>
</choice>
<choice>
+ <a:documentation>The extent of this bibliographic item which is related to the target bibliographic item,
+provided that it is not the entire bibliographic item that is so related</a:documentation>
<zeroOrMore>
<ref name="sourceLocality"/>
</zeroOrMore>
<zeroOrMore>
<ref name="sourceLocalityStack"/>
</zeroOrMore>
</choice>
</element>
</define>
<define name="version">
+ <a:documentation>A version of the bibliographic item (within an edition). Can be used for drafts</a:documentation>
<element name="version">
<optional>
- <ref name="revision-date"/>
+ <ref name="revision-date">
+ <a:documentation>The date at which the current version of the bibliographic item was produced</a:documentation>
+ </ref>
</optional>
<optional>
- <ref name="draft"/>
+ <ref name="draft">
+ <a:documentation>The identifier for the current draft of the bibliographic item</a:documentation>
+ </ref>
</optional>
</element>
</define>
<define name="vedition">
<element name="edition">
@@ -1440,49 +1980,66 @@
<define name="draft">
<element name="draft">
<text/>
</element>
</define>
+ <!--
+ bkeyword = element keyword {
+ LocalizedString |
+ (
+ element vocab { LocalizedString },
+ vocabid+
+ ) |
+ (
+ element taxon { LocalizedString }+,
+ vocabid+
+ )
+ }
+ -->
<define name="bkeyword">
+ <a:documentation>Keyword for a bibliographic item</a:documentation>
<element name="keyword">
- <choice>
- <ref name="LocalizedString"/>
- <group>
- <element name="vocab">
- <ref name="LocalizedString"/>
- </element>
- <oneOrMore>
- <ref name="vocabid"/>
- </oneOrMore>
- </group>
- <group>
- <oneOrMore>
- <element name="taxon">
- <ref name="LocalizedString"/>
- </element>
- </oneOrMore>
- <oneOrMore>
- <ref name="vocabid"/>
- </oneOrMore>
- </group>
- </choice>
+ <optional>
+ <element name="vocab">
+ <a:documentation>The keyword as a single, controlled or uncontrolled vocabulary item</a:documentation>
+ <ref name="LocalizedString"/>
+ </element>
+ </optional>
+ <oneOrMore>
+ <element name="taxon">
+ <a:documentation>The keywords as a hierarchical taxonomy. For example, the sequence of `taxon` elements
+`pump`, `centrifugal pump`, `line shaft pump` represents a taxonomic classification</a:documentation>
+ <ref name="LocalizedString"/>
+ </element>
+ </oneOrMore>
+ <zeroOrMore>
+ <ref name="vocabid">
+ <a:documentation>Identifiers for the keyword as a controlled vocabulary</a:documentation>
+ </ref>
+ </zeroOrMore>
</element>
</define>
<define name="vocabid">
+ <a:documentation>Item in a controlled vocabulary</a:documentation>
<element name="vocabid">
- <attribute name="type"/>
+ <attribute name="type">
+ <a:documentation>A label for the controlled vocabulary</a:documentation>
+ </attribute>
<optional>
<attribute name="uri">
+ <a:documentation>A URI for the controlled vocabulary item</a:documentation>
<data type="anyURI"/>
</attribute>
</optional>
<optional>
<element name="code">
+ <a:documentation>The code or identifier for the controlled vocabulary item</a:documentation>
<text/>
</element>
</optional>
<optional>
<element name="term">
+ <a:documentation>The term itself for the controlled vocabulary item</a:documentation>
<text/>
</element>
</optional>
</element>
</define>