9.3.1 Common Attributes
9.3.1.1 Component Names
The name of a class, property, or enumerator is not a simple string but a triple of strings, each appropriate for use as a name in a different context:

•  The reference concrete syntax (RCS) name is appropriate for use in a context where a valid name in the SGML reference concrete syntax is required.

•  The application name specifies a name that is appropriate for use as an identifier in a programming or scripting language.  An application name can include multiple words separated by spaces; the name must be transformed to be a valid identifier in the language in which it is to be used, using the normal conventions of that language for multi-word identifiers.  For example, the application name processing instruction, when bound to a programming language, might become ProcessingInstruction, processing-instruction, or PROCESSING_INSTRUCTION, depending on the language.

•  The full name is an unabbreviated name appropriate for use in documentation.
A three-part name of this kind is called a component name.
These three names are specified by attributes as follows:

•  rcsnm specifies the RCS name of the property.

•  appnm specifies the application name of the property; this defaults to the RCS name.

•  fullnm specifies the full name of the property; this defaults to the application name.
9.3.1.2 Specification Documents
Various elements occurring in a property set define components by referencing them in a specification document.  These elements use the following common attributes:

•  sd specifies the specification document; this defaults to SGML. Formally, the value is the name of a notation. Other allowed values are GenFac for the General Facilities of ISO/IEC 10744 and DSSSL.

•  clause specifies the applicable clause of the specification document; for SGML this uses the notation of ISO/IEC 13673.