HTML and CSS Reference
A.1. Grammatical Conventions
We use a number of typographic and punctuation conventions to make
our grammar easy to understand.
A.1.1. Typographic and Naming Conventions
For our grammar, we denote the terminals with a monospaced typeface.
The nonterminals appear in italicized text.
We also use a simple naming convention for the majority of our nonter-
minals: if a nonterminal defines the syntax of a specific tag, its name is
the tag name followed by _tag . If a nonterminal defines the various lan-
guage elements that may be nested within a certain tag, its name is the
tag name followed by _content .
For example, if you are wondering exactly which elements are allowed
within an <a> tag, you can look for the a_content rule within the grammar.
Similarly, to determine the correct syntax of a definition list created with
the <dl> tag, look for the dl_tag rule.
A.1.2. Punctuation Conventions
Each rule in the grammar starts with the rule's name, followed by the
replacement symbol ( ::= ) and the rule's value. We've intentionally kept
the grammar simple, but we do use three punctuation elements to de-
note alternation, repetition, and optional elements in the grammar.
Alternation indicates a rule may actually have several different values, of
which you must choose exactly one. Pipes ( | ) separate the alternatives
for the rule.