# This file is part of the DITA Open Toolkit project.
#
# Copyright 2011 Jarno Elovirta
#
# See the accompanying LICENSE file for applicable license.
datatypes xs = "http://www.w3.org/2001/XMLSchema-datatypes"

configuration =
  ## Character set configuration
  element configuration {
    alphabet*
  }
alphabet =
  ## Character set
  element alphabet {
    ## Character set name
    attribute char-set { text },
    character-set*
  }
character-set =
  ## Character set
  element character-set {
    (character | character-range)*
  }
## Allowed characters for configuration
char =
  xs:string {
    pattern = "[\x{0009}\x{000A}\x{000D}\x{0020}-\x{D7FF}\x{E000}-\x{FFFD}]"
  }
character =
  ## Character
  element character {
    char
  }
character-range =
  ## Character range
  element character-range {
    ## Range start character
    element start {
      ## Include character in range
      attribute include { "yes" | "no" },
      char
    },
    ## Range end character
    element end {
      ## Include character in range
      attribute include { "yes" | "no" },
      char
    }
  }
start = configuration
