namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"


## Terms
div {
  terms =
    terms.gender-assignable
    | terms.gender-variants
    | terms.locator
    | item-types
    | 
      ## Contributor roles
      variables.names
    | "editortranslator"
    | 
      ## Miscellaneous terms
      "accessed"
    | "ad"
    | "advance-online-publication"
    | "album"
    | "and"
    | "and others"
    | "anonymous"
    | "at"
    | "audio-recording"
    | "available at"
    | "bc"
    | "bce"
    | "by"
    | "ce"
    | "circa"
    | "cited"
    | "et-al"
    | "film"
    | "forthcoming"
    | "from"
    | "henceforth"
    | "ibid"
    | "in"
    | "in press"
    | "internet"
    | "interview"
    | "letter"
    | "loc-cit"
    | "no date"
    | "no-place"
    | "no-publisher"
    | "on"
    | "online"
    | "op-cit"
    | "original-work-published"
    | "personal-communication"
    | "podcast"
    | "podcast-episode"
    | "preprint"
    | "presented at"
    | "radio-broadcast"
    | "radio-series"
    | "radio-series-episode"
    | "reference"
    | "retrieved"
    | "review-of"
    | "scale"
    | "special-issue"
    | "special-section"
    | "television-broadcast"
    | "television-series"
    | "television-series-episode"
    | "video"
    | "working-paper"
    | 
      ## Punctuation
      "open-quote"
    | "close-quote"
    | "open-inner-quote"
    | "close-inner-quote"
    | "page-range-delimiter"
    | "colon"
    | "comma"
    | "semicolon"
    | 
      ## Seasons
      "season-01"
    | "season-02"
    | "season-03"
    | "season-04"
  
  ## Terms to which a gender may be assigned
  terms.gender-assignable =
    
    ## Months
    "month-01"
    | "month-02"
    | "month-03"
    | "month-04"
    | "month-05"
    | "month-06"
    | "month-07"
    | "month-08"
    | "month-09"
    | "month-10"
    | "month-11"
    | "month-12"
    | terms.non-locator-number-variables
    | terms.locator-number-variables
  
  ## Terms for which gender variants may be specified
  terms.gender-variants = terms.ordinals | terms.long-ordinals
  terms.ordinals =
    
    ## Ordinals
    xsd:string { pattern = "ordinal(-\d{2})?" }
  terms.long-ordinals =
    
    ## Long ordinals
    "long-ordinal-01"
    | "long-ordinal-02"
    | "long-ordinal-03"
    | "long-ordinal-04"
    | "long-ordinal-05"
    | "long-ordinal-06"
    | "long-ordinal-07"
    | "long-ordinal-08"
    | "long-ordinal-09"
    | "long-ordinal-10"
  
  ## Locators
  terms.locator =
    "act"
    | "appendix"
    | "article-locator"
    | "book"
    | "canon"
    | "chapter"
    | "column"
    | "elocation"
    | "equation"
    | "figure"
    | "folio"
    | "line"
    | "note"
    | "opus"
    | "paragraph"
    | "rule"
    | "scene"
    | "sub-verbo"
    | "table"
    | "timestamp"
    | "title-locator"
    | "verse"
    | terms.locator-number-variables
  
  ## Locator terms with matching number variables
  terms.locator-number-variables =
    "issue"
    | "page"
    | "part"
    | "section"
    | "supplement"
    | "version"
    | "volume"
  
  ## Non-locator terms accompanying number variables
  terms.non-locator-number-variables =
    "chapter-number"
    | "citation-number"
    | "collection-number"
    | "edition"
    | "first-reference-note-number"
    | "number"
    | "number-of-pages"
    | "number-of-volumes"
    | "page-first"
    | "printing"
}
