start =
  element texmap {
    element maps {
      # CSV list of sets
      attribute set { text },
      attribute type { "accents" | "letters" | "diacritics" | "punctuation" | "symbols" | "negatedsymbols" | "superscripts" | "cmdsuperscripts" | "dings" | "greek"  },
      map+
    }+,
    element encode_exclude {
      element char { text }+
    }
  }


map = element map {
  element from {
    attribute preferred {"1"}?,# preferred encoding form if more than one
    attribute raw {"1"}?,# use the encoding form "as is" in replacement - no extra envs/braces etc.
    text
  },
  element to {
    attribute hex { text },
    text }
}
# Copyright 2012-2020 Philip Kime, all rights reserved.

# This code is free software.  You can redistribute it and/or
# modify it under the terms of the Artistic License 2.0.

# This program is distributed in the hope that it will be useful,
# but without any warranty; without even the implied warranty of
# merchantability or fitness for a particular purpose.
