Entities
========

 - Data type: entity
     An entity has the following properties:

    NAME
          The name of the entity (a string).  This is either the name
          of a declared entity (general or parameter) or the doctype
          name if it is the implicit entity referred to by the doctype
          declaration.

    TYPE
          This is a symbol.  It is `text' if it is a text entity, other
          values are `cdata', `ndata', `sdata', `sgml' or `dtd'.

    TEXT
          This is the text of the entity, either a string or an external
          identifier.

   Operations on entities

 - Function: sgml-make-entity NAME TYPE TEXT
     Create an entity.

 - Function: sgml-entity-name ENTITY
     The name of the entity.

 - Function: sgml-entity-type ENTITY
     The type of the entity.

 - Function: sgml-entity-text ENTITY
     The text of the entity.

 - Function: sgml-entity-insert-text ENTITY
     Insert the text of the entity into the current buffer at point.

 - Function: sgml-entity-data-p ENTITY
     True if ENTITY is a data entity, that is not of type `text'.

 - Data type: entity-table
     A table of entities that can be referenced by entity name.

 - Function: sgml-lookup-entity NAME ENTITY-TABLE
     The entity with named NAME in the table ENTITY-TABLE.  If no such
     entity exists, `nil' is returned.

 - Function: sgml-entity-declare NAME ENTITY-TABLE TYPE TEXT
     Create an entity from NAME, TYPE and TEXT; and enter the entity
     into the table ENTITY-TABLE.

 - Function: sgml-entity-completion-table ENTITY-TABLE
     Make a completion table from the ENTITY-TABLE.

 - Function: sgml-map-entities FN ENTITY-TABLE &optional COLLECT
     Apply the function FN to all entities in ENTITY-TABLE.  If COLLECT
     is `t', the results of the applications are collected in a list
     and returned.