(Cross-posted to comp.text.sgml)
Dear reader,
In SGML, the 'Prod 145 (11.3) Markup declarations: document type
definition, Attribute definition list declaration' doesn't include a
declared value RCDATA.
This has the implication for TEI P3 that many kinds of values cannot be
expressed well as they could within data content (most notably, by using
entity references to system data for characters). There seems to be no
immediate reason not to support RCDATA.
This we consider a flaw in ISO/IEC 8879 that should be corrected; as
long as SGML isn't changed in this sense TEI P4 should provide for a
provisional solution, e.g. by allowing entity references to be included
and assume the TEI P4 conformant processor to resolve these as if RCDATA
were declared. This could be done by the following patch:
(teikey2.ent, see also teiwsd.dtd)
<!-- 3.8.3: TEI Keywords -->
<!-- I. Declare TEI keywords for data types. -->
<!-- These parameter entities are used as keywords to -->
<!-- express rules or constraints which cannot be fully -->
<!-- expressed in SGML; their expansions show the nearest -->
<!-- SGML equivalent. -->
<!ENTITY % INHERITED '#IMPLIED' >
<!ENTITY % ISO-date 'CDATA' >
<!ENTITY % extPtr 'CDATA' >
<!ENTITY % RCDATA "CDATA" -- SGML patch for declared value -->
and in (for example) 'rend=' attribute definition:
.... rend %RCDATA; #IMPLIED
simply because rend= values have no P3 defined processing. More
prominently, the option is especially missed in
<sic corr='céline'>Celine</>
In general, all declared values could well be replaced by this %RCDATA;.
The standard should provide for RCDATA here.
(Nb. This seems to be handled better in XML, 3.3.3 Attribute-Value
Normalization, which allows for character and internal entity references).
What do you think?
Arjan Loeffen, Frans Wiering, Utrecht University.
-------------------------------------------------------------------
Arjan Loeffen, Computer & Arts, Faculty of Arts, Utrecht University
[log in to unmask] http://CandL.let.ruu.nl
|