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

Description="Relax NG"

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=[[\\[|\\]|\\{|\\}|\\;|\\.|\\<|\\>|\\!|\\=|\\/|\\%|\\+|\\~|\\&\\=]]
