Skip to content

ISODoc: Terms and Definitions

Nick Nicholas edited this page Jan 22, 2018 · 19 revisions

terms

terms =
  element terms { term* }

term =
  element term {
    attribute identifier? { text },
    # renamed from "anchor", need to be consistent
    tname, symbol?, term_definition+
    # disagree that more than one definition makes sense
    # symbol should move down to term_definition, it is an alternative to admitted
  }

term =
  element term { text }

tname = element name { text }

term_definition =
  element term_definition {
    term, note*, status, admitted*, termdomain?, termexample*, clause*, definition, origin*
    # why is term both here and in termcollection?
    # clause is meant to be mutually exclusive with the others, right?  if so,
    # this is better modelled as a recursive termcollection
}

note = element note { paragraph+ }

status = element status { text }
admitted = element admitted { text }
termdomain = element termdomain { text }
termexample = element termexample { paragraph+ }
# I'd argue example is in fact basic block; the ISO standard constraint to plain text is not universal
definition = element definition { paragraph_with_foonote+ }
origin = element origin { bibliographic_item }

Items for discussion (threaded: identify by number)

  1. terms/subsection: the subsections of a Terms section are themselves Terms sections, not clauses

  2. term@identifier: renamed from "anchor", need to be consistent. Use either identifier or anchor for internal identifiers of block

  3. term/term_definition: disagree that more than one definition makes sense

  4. term/symbol: symbol should move down to term_definition, it is an alternative to admitted

  5. term_definition/term: why is term both here and in termcollection?

  6. term_definition/clause: clause is meant to be mutually exclusive with the others, right? if so, this is better modelled as a recursive termcollection

  7. termexample: I’d argue termexample is in fact a basic block; the ISO standard constraint of it to be a plain string is not universal

Clone this wiki locally