Computer readable media and methods are associated with a software development
tool that is useful when authoring programs that generate documents, such as markup
language documents. In one respect, the invention is a computer readable medium
on which is embedded computer software. The software comprises a base class, an
inline class and a container class. The base class defines a parent-child relationship
by which a child object is stored within the storage space of its parent object.
The inline class is an extension of the base class, wherein a member of the inline
class is permitted to be a child object but prohibited from being a parent object.
The container class is an extension of the base class, wherein a member of the
container class is permitted to be a child object and/or a parent object. A well-formed
document can be modeled in software using members of the inline and/or container
classes. In another respect, the invention is a method of using the a set of classes
to develop a document-producing program. The set of classes comprises the base
class, inline class and container class. In yet another respect, the invention
is a document-producing program produced by the preceding method.