-- Language definition generated by lang2to3, added to by rsperberg

Description="Relax NG"

Categories = {"markup"}

Keywords={
  { Id=1,
    List={"datatypes", "div", "element", "empty", "external", "grammar", "include",
          "inherit", "list", "mixed", "namespace", "notAllowed"},
  },
  -- allows certain keywords to be used as element/attribute names
  { Id=1,
    Regex=[[(?<!element )(default|attribute)\\s]]
  },
  { Id=1,
    Regex=[[(?<!attribute )start\\s]]
  },
  -- includes xsd datatypes
  { Id=2,
    List={"empty", "string", "text", "token", "xsd", "rng", "anyuri",
        "base64binary", "boolean", "byte", "date", "datetime", "decimal", "double",
        "duration", "entities", "entity", "float", "gday", "gmonth", "gmonthday",
        "gyear", "gyearmonth", "hexbinary", "id", "idref", "idrefs", "int", "integer",
        "language", "long", "name", "ncname", "negativeinteger", "nmtoken", "nmtokens",
        "nonnegativeinteger", "nonpositiveinteger", "normalizedstring", "notation",
        "positiveinteger", "qname", "short", "string", "token", "unsignedbyte",
        "unsignedint", "unsignedlong", "unsignedshort"},
  },
  -- allows "time" to be used as element/attribute name
  { Id=2,
    Regex=[[time(?!-)]]
  },
  { Id=2,
    List={"defaultValue"},
  },
  { Id=2,
    Regex=[[a(?=:)]]
  }
}

Strings={
  Delimiter=[["|\']],
}

IgnoreCase=false

Comments={
  { Block=false,
    Delimiter= { [[#]] },
  },
}

Operators=[[\[|\]|\{|\}|\;|\.|<|>|\!|\=|\/|\%|\+|\~|\&|\=]]
