Markup Language The term "markup" automatically assumes text. Markup is written, and writing is readable. Markup isn't binary, isn't computerish, and isn't icky. I like HTML. Originally I thought HTML was the way computers understood things to show on screen. I like things to be better than they are. SGML gave birth to HTML, and I want to produce an even more simple (and therefore useful) kind of markup. It has no name. It is "markup language"--nothing more, nothing less. There are only two types of markup: single and combined. Single is an element defined in itself. A division, for instance, has no relationship to either its precessor or successor. A combined element is something defined only in terms of its application. A paragraph, for instance, is meaningless without its contents. There are only two types of attributes: individual and familial. Individual attributes are not shared. Familial attributes are shared among brothers and sisters. All combined elements of the same name are siblings, unless divided by a singular element. All elements are generated by the sequence , where "name" is an element name known according to the document type, and may contain only [_0-9A-Za-z] (note: it is up to the document type definition to exclude names beginning with the digits 0-9). Attributes are set through the sequence name, "value", where name is defined as an individual or familiar attribute in the document type, and value does not contain "-marks or <> signs (note: ' is not used). Instructions are generated by the sequence <$>, where $ is a token. is used to terminate an element. <-> is used to generate a sibling of the previous element. A combined element is also ended upon a further occurrence of that same element. Document Type Definitions Each element is defined by name and type (1 for single, 2 for combined). For example: elements a 1 div 1 em 1 img 2 p 2 # no nested paragraphs :-) Attributes must be one of the two types (1 for individual, 2 for familial). attributes href 1 id 1 style 2 Character entities (and strings) are defined by name and a %-escaped string. & lt < & gt > & amp %26 The end.