In-line subdocument parsing in OmniMark is supported by a very general facility that allows any SGML or XML document to be parsed at any point in an OmniMark program. Processing SUBDOC entities is a special case of this.
SGML and XML subdocuments are not the only other documents that may need to be processed while processing an SGML, XML, or general text document:
- Another SGML or XML document may provide details of how the main document or some part of it is to be processed. Similarly, when a SUBDOC entity reference is encountered, two SGML or XML documents may need to be parsed: the subdocument proper, and another one that describes the subdocument's processing.
- An external entity may be "incidentally" an SGML or XML document. For example, the representation of an external entity (a graphic or a table, for example) may be SGML or XML, but may vary from system to system, with its markup interpreted in an appropriate manner on each system.
- The application may want to process all or part of the main SGML or XML document more than once: the first time to collect information about the whole document, and a second time to do the "real" processing.
In addition, SGML and XML subdocuments may need to be processed prior to or following the processing of the main document, at the point of reference, or some combination of the two. There is no particular distinction between when and how subdocuments and main documents are processed.
The consequence of all this is that, rather than OmniMark processing subdocuments explicitly, OmniMark programs are provided with the means to implement the SUBDOC facility. Among other things, this means that the OmniMark programmer is responsible for detecting when the allowed number of nested documents is exceeded.
Besides SGML and XML documents and subdocuments, the following also need to be parsed:
- "Instance parts", or pieces of text containing the marked-up text of a single SGML or XML element. This requirement comes from database applications that store partial SGML or XML documents and need to process them separately.
- SGML or XML DTDs. Once a DTD has been parsed, it may be desirable to parse one or more instances that conform to that DTD separately from "compiling" the DTD.
Generated: April 21, 1999 at 2:00:52 pm
If you have any comments about this section of the documentation, send email to [email protected]
Copyright © OmniMark Technologies Corporation, 1988-1999.