element-declaration

built-in data type

Purpose

Every element event in a parsed markup stream is associated with an element-declaration, which contains all information that does not vary from one instance of the same element to the next.

An element-declaration has the following properties:

  • name
  • declared attributes
  • content model

Respectively, these can be obtained using the operators name of element-declaration, attributes of element-declaration, and content of element-declaration.

Every sgml-dtd and xml-dtd instance contains a shelf of type element-declaration, which can be obtained through the declared-elements of operator. This shelf is keyed by element name.

The following example program outputs names of all elements and their attributes declared by an SGML DTD:

 define string source function
 attributes-of (value element-declaration d)
 as
 repeat over attributes of d as a
 output " " || key of a || "%n"
 again
 
 
 process
 do sgml-parse document creating sgml-dtds{"input"} scan #main-input
 suppress
 done
 
 repeat over declared-elements of sgml-dtds{"input"} as d
 output key of d || "%n"
 output attributes-of (d)
 again
 

Element declarations can be stored in shelves and passed to functions as arguments (as in the example above). When combined with the create-element-event operator, this allows for creation of new element events. The operator declaration of performs the inverse operation and returns the original declaration from any markup-element-event .

Related Syntax

AltStyle によって変換されたページ (->オリジナル) /