# lib/sgml/README				19 Mar 95
#------------------------------------------------------------

<name> is the name of an ENTITY or DOCTYPE clause.

PUBLIC entity identifiers have the structure

	"[+-]//<owner>//<class> <text>//<language>//<version>"

		The `[+-]//' prefix is not used for ISO entities.
		`//<version>' is optional, too.

SYSTEM entity names simply have the structure

	"<file>"

For <class>: Map uppercase letters to lowercase.

For <token>s: Map spaces to underscores, and slashes to percents.

<ident> is either <text> or <name>.
<name> may be in lowercase, don't know yet.

Then an entity should be stored as file (in order of preference)

	<class>/<owner>/<ident>
		if an owner has more entities of that class
	<class>/<ident>
		if that's the only class' entity of that owner
	<file>
		only in emergencies
	CATALOG(entity_name)
		[a function result: map via CATALOG file]
		Actually, this is not supported by sgmls, and the last
		choice due to maintenance problems of the CATALOG file.
		psgml translates the result of this mapping again via
		ECAT.

SGML declarations are either of class `text' or specific for one DTD.
In the latter case, they may be stored beside the DTD, with an
extension of `dcl'. Typically the document instance will not specify
them anyhow, we must bind them externally. Perhaps that will be
changed later. (Have to read POEM, perhaps this is of some help.)
