Skip to content

ISODoc: Top Level

Nick Nicholas edited this page Jan 28, 2018 · 13 revisions

standard document

# instantiations of this grammar may replace leaf strings
# with more elaborated types; e.g. title (text) replaced with
# title_main, title_intro, title_part; type replaced with
# enum.
#
# some renaming at leaf nodes is permissible
#
# obligations can change both from optional to mandatory,
# and from mandatory to optional; optional elements may
# be omitted; freely positioned alternatives may be replaced
# with strict ordering

grammar {

start = standard-document

element standard-document {
  title+, status, creator*, language, script, type?,
  id*, version?, copyright,
  sections+
}

title =
  element title {
    attribute language { text },
    text
}

status =
  element status { text }

language =
  element language { text }
# ISO-639

script =
  element script { text }
# ISO-15924: Latn

type = element type { text }

id = element id { string }

version =
  element version {
    edition?, revision_date?, version*
}

edition = element edition { xsd:int }
revision_date = element revision_date { xsd:date }
version = element version { text }

copyright =
  element copyright {
    from, to?, owner
}

from = element from { xsd:gYear }
to = element to { xsd:gYear }

owner =
  element owner { CreatorInfo }

Items for discussion (threaded: identify by number) DONE

  1. copyright_owner: change yearTo to optional

  2. copyright_owner: change to just copyright; copyright_owner/owner is redundant

    1. Fixed.

  3. isoTitleText is a subclass of TitleText

    1. Fixed.

Clone this wiki locally