The open elements - i.e. elements of which a starttag has occurred but not yet the corresponding endtag - must be known during parsing. More precise, the order in which the elements where opened must also be known. This information is kept in a stack, with the top member of the stack indicating the most recently opened element. This stack is used for endtag omission and shorttags (see ``startend.c'').
Also a stack is maintained with the active inclusions and exclusions. For every open element the corresponding inclusions and exclusions elements are pushed on that stack.
See stack.gen for the description of the functions.