Definitions

Why these definitions? Because we realized we were speaking about different things with the same words. One example is "SGML application": it can refer either to a specific DTD, or to a computer program meant to process some SGML or XML document. Both definitions are perfectly correct, but to avoid confusion we chose the one we needed.

Some definitions like "helper", "backend" and "frontend" are not even necessary to read the rest of the document. We left them because we needed them to provide a reference implementation.