10 Unsupported SGML features
The current parser is rather limited. While it is able to deal with many serious documents, it omits several less-used features of SGML and XML. Known missing SGML features include
- NOTATION on entities
Though notation is parsed, notation attributes on external entity declarations are not handed to the user. - NOTATION attributes
SGML notations may have attributes, declared using<!ATTLIST #NOTATION name attributes>
. Those data attributes are provided when you declare an external CDATA, NDATA, or SDATA entity.XML does not include external CDATA, NDATA, or SDATA entities, nor any of the other uses to which data attributes are put in SGML, so it doesn't include data attributes for notations either.
Sgml2pl does not support this feature and is unlikely to; you should be aware that SGML documents using this feature cannot be converted faithfully to XML.
- SHORTTAG
The SGML SHORTTAG syntax is only partially implemented. Currently,<tag/content/
is a valid abbreviation for<tag>content</tag>
, which can also be written as<tag>content</>
. Empty start tags (<>
), unclosed start tags (<a<b</verb>
) and unclosed end tags (<verb></a<b
) are not supported. - SGML declaration
The‘SGML declaration' is fixed, though most of the parameters are handled through indirections in the implementation. - The DATATAG feature
It is regarded as superseeded by SHORTREF, which is supported. (SP does not support it either.) - The RANK feature
It is regarded as obsolete. - The LINK feature
It is regarded as too complicated. - The CONCUR feature
Concurrent markup allows a document to be tagged according to more than one DTD at the same time. It is not supported.
In XML mode the parser recognises SGML constructs that are not allowed in XML. Also various extensions of XML over SGML are not yet realised. In particular, XInclude is not implemented because the designers of XInclude can't make up their minds whether to base it on elements or attributes yet, let alone details.