![]() | ![]() | Copyright © 1992, 1997 International Organization for Standardization. All rights reserved. This electronic document is for use during development and review of International Standards. Official printed copies of International Standards can be purchased from the ISO and the national standards organization of your country. | ||
| Next Clause | Previous Clause | |||
In SGML, elements may specify a data content notation to which their content must conform through the use of an attribute with a value prescription of "NOTATION". Notations may declare data attributes that can be exhibited by the data entities in those notations. However, because elements have their own attribute name space, SGML does not provide a way to specify data attributes on elements when they conform to a specific notation. This limits the utility of notations for elements.
The data attributes for elements (DAFE) facility of the General Architecture overcomes this problem by providing a means for interpreting element attributes as data attributes for elements that have an associated notation. By using this facility, an element's attributes can be derived from the data attributes of its data content notation, in addition to being derived from base architectures.
When the DAFE facility is in use, elements with a data content notation are treated normally, with one addition: any attribute of the element that has the same name as a data attribute of the notation is assumed to be that data attribute. Its value must satisfy the declared value of both the data attribute definition and the element attribute definition.
NOTE 474 Thus, notations are used much as architectural forms are used. However, the notations are not "architectural forms", they are notations in the client document. The use of the DAFE facility is reflected in the General Architecture's enhanced SGML document grove, not in a separate architectural grove. In particular, element nodes in the enhanced SGML document grove may exhibit a "data attributes" property in addition to an "attributes" property (see A.7 SGML Property Set for details).
The "NotNames" and "NotSupr" attributes shown here are analogous to the ArcNames (see A.3.5.2 Architectural attribute renamer) and ArcSupr (A.3.5.3 Architecture suppressor attribute) attributes, respectively.
The NotNames attribute maps architecture notation attribute names to substitute client attribute names or element content. When the substitute name is "#DEFAULT", the architectural attribute is mapped to its architectural default value and cannot be specified by the client element.
Using NotNames, syntactic data content conforming to a notation can be entered as an attribute value by specifying the notation data attribute name as "#NOTCONT" and naming the attribute in whose value it will occur. This must be done if "#CONTENT" is named as a substitute name for another attribute. If done and "#CONTENT" is not named as a substitute name, the content of the element is not governed by the notation.
A substitute name may be followed by one or more triples of tokens each consisting of #MAPTOKEN followed by two name tokens. These specify user substitutes for architecture-defined tokens occurring in the value of this attribute. If a token in a value specified for this attribute in the client document is equal to the second token, then it will be replaced by the first token. If #MAPTOKEN is specified for an architecture-defined attribute whose declared value is CDATA then the value of the attribute shall be tokenized before tokens are substituted.
The data attributes for elements suppressor (NotSupr) attribute suppresses notation-specific processing of notation attributes for elements. The value "sNotAll" suppresses all notation-specific processing for the element and its descendant elements. The value "sNotForm" suppresses notation-specific processing for the element and its descendant elements, except for processing of the NotSupr attribute itself. The value "sNotNone" turns off suppression of notation-specific processing. If notation-specific processing is suppressed for an element because NotSupr occurs on an ancestor, the element will receive only normal SGML processing. Its element attributes will not be recognized as data attributes.
<!-- Data attributes for elements -->
<![ %dafe; [
<!Attlist
-- dafe -- -- Data attributes for elements --
-- Clause: A.5.3.1 --
#ALL
NotNames -- Data attributes for elements renamer --
-- Defines user names for data attributes --
CDATA -- Lextype: ((NAME,(ATTORCON|"#DEFAULT"),
("#MAPTOKEN",NMTOKEN,NMTOKEN)*)|
("#NOTCONT",ATTNAME))* --
-- Constraint: a given ATTNAME, NAME, #CONTENT, or
#NOTCONT can occur only once --
-- Constraint: data attribute name precedes user
name --
#IMPLIED -- Constant --
-- Default: no renaming --
NotSupr -- Data attributes for elements suppressor --
-- Suppress data attribute for elements
processing --
(sNotAll|sNotForm|sNotNone)
#IMPLIED -- Default: inherited --
>
]]><!-- dafe -->| Next Clause | Previous Clause |
HTML generated from the original SGML source using a DSSSL style specification and the SGML output back-end of the JADE DSSSL engine.