From the NannyMUD documentation

LAST CHANGE

2001-09-08

TOPIC

NAME

        dtd - The NannyMUD documentation DTD

DESCRIPTION

	INTRODUCTION

	It is the DTD, Document Type Definition, which determines the
	possible and allowed structure of the NannyMUD XML-based
	documentation. This document will list and comment on the
	various elements in the DTD. The DTD itself can be found on
	http://www.lysator.liu.se/nanny/xml/nannydoc.dtd .

	As you will note if you read the DTD (and you should), many
	elements have the same sub-structure, and it would then have
	been logical to define such a sub-structure. This has not been
	done, in order to keep down the number of tags the people
	(you?) writing documentation will have to write.
	

	NANNYMUD_DOC
	This is the top-level tag which contains everything else. This
	is a must for a valid, well-formed XML document.

	RULES
	This tag is used for files containing the rules. Perhaps it
	should have contained a list of RULE, but the rules files do
	not have a structure that would make that useful.

	CONCEPT
	This tag is used for files explaining a concept, such as hooks
	or shadows.

	TOPIC
	This tag is used when documenting a general topic.

	PREAMBLE
	This tag is used for files documenting whole objects, such as
	/std/room. Such a file mightdocument many functions,
	properties etc.

	FUNCTIONS
	This tag is used to start a list of functions. The list might
	have the following parts: SETUP_FUNCTIONS, QUERY_FUNCTIONS,
	and OTHER_FUNCTIONS.
	
	FUNCTION
	This tag is used when documenting a singe function.

	COMMAND
	This tag is used when documenting a singe command.
	
	PROPERTIES
	This tag is used to start a list of properties. The list might
	have two parts: EXTERNAL_PROPERTIES and INTERNAL_PROPERTIES.
	
	EXTERNAL_PROPERTIES
	This tag is used to start a list of external properties. An
	external property is aproperty that is used to give various
	information to other objects.

	INTERNAL_PROPERTIES
	This tag is used to start a list of internal properties. An
	internal property is a property which modifies the behaviour
	of the object.

	PROPERTY
	This tag is used when documenting a single property.

	NOTES
	This tag is used to group one or many NOTE tags.

	EXAMPLES
	This tag is used to group one or many EXAMPLE tags.

	EXAMPLE
	This tag starts a block of text which contains an example.
	
	INHERITS
	This tag is used to group one or many INHERIT tags.

	INHERIT
	In this tag you name a file which is inherited.

	INCLUDES
	This tag is used to group one or many INCLUDE tags.

	INCLUDE
	In this tag you name a file which is included.
	
	LINKS
	This tag is used to group one or many LINK tags.

	LINK
	THis tag is used to specify a link to another documented
	topic, which is related to the current topic.
	
	RETURN_VALUES
	This tag is used to group one or many RETURN_VALUE tags.
	
	NAME
	This tag is used to setup the name of a topic. This is
	traditionally in two parts: the name, and a very brief
	description.

	NAME_LONG
	This tag is used to set the brief description. Perhaps it
	should have another name, but...
	
	NAME_SHORT
	This tag is used to set the name of the topic. This is almost
	always the same as set with LABEL -- but not always.
	
	DESCRIPTION
	This tag starts a descriptive block.

	AVAILABILITY
	In this tag you detail the availability to other objects.

	CODE
	This tag starts a block of text which contains code.

	KEYWORD
	This tag is used to add keywords for the keyword database.

	LABEL
	This is used by the system to know where in a file to start
	reading to present a topic to the user. It is most commonly
	has the same value as NAME, but it might be different.
	
	LAST_CHANGE
	This tag is used to specify when the document was last
	changed.
	
	LOCATION
	This tag is used to specify where the command/function is
	located, i.e. the file which defines the command/function.
	
	NOTE
	This tag starts a text block, which contains a note.

	SETUP_FUNCTIONS
	This tag starts a text block listing the setup functions.
	
	QUERY_FUNCTIONS
	This tag starts a text block listing the query functions.

	OTHER_FUNCTIONS
	This tag starts a text block listing functions not found under
	SETUP_FUNCTIONS or QUERY_FUNCTIONS.
	
	RETURN_VALUE
	This tag is used for a text block which details a returned
	value.
	
	SYNTAX
	This tag starts a text block which specifies the syntax of a
	command or function.
	
	TABLE
	This tag starts a block which is a table. Of course, this
	should have further structure, but that is a possible future
	extension.
	
	TEXT
	This tag starts a general block of text.

SEE ALSO

        system in xdoc/system

SEE ALSO

        xmand in xdoc/xmand

SEE ALSO

        xmanmod in xdoc/xmanmod