contentsconceptssyntaxlibrariessampleserrorsindex
Full text search
Marked sections: INCLUDE
    Related Syntax  

SGML comments and ignore, cdata, and rcdata marked sections are all processed similarly. However, include marked sections require quite a different approach. Instead of having one rule to process an include marked section, OmniMark provides two: one for processing the start of a marked section and one for the end. This split is necessary because, unlike other types of marked sections, an include marked section can start in the context of one element and end in another, and so can overlap the hierarchical structure that ties the components of a parsed SGML document together.

This kind of overlapping cannot happen with ignore, cdata, and rcdata marked sections because they inhibit the recognition of other markup, including start and end tags, within their text. An important consequence of this is that the whole of the text of an ignore, cdata, or rcdata marked section is processed with one set of output streams (as used by the output action and as available using the #current-output stream set) and inherits the stream destinations and stream modifiers from the element or data-content rule that processes the surrounding content.

The contents of an include marked section, can be part of one or more elements, the element and data-content rules for which each may specify different output destinations and stream modifiers. To avoid all the complexity and user confusion that could result from trying to "merge" the specifications of the rules for include marked sections and the applicable element and data-content rules, include marked section rules only apply to the start and end of an include marked section. The include marked section's rules have no direct influence on the processing of the marked section's content. The two rules are the marked-section include-start and marked-section include-end rules.

The OmniMark program can influence the processing of the content of an include marked section by setting global variables and testing them in element and data-content rules, so that those rules can detect when they occur in an include marked section.

This is an example of an INCLUDE marked section overlapping the element structure of a document:

  <title>Part of the title.
  <![INCLUDE[More of the title.
  <p>The first paragraph.
  <p>Part of the second paragraph.
  ]] More of the second paragraph.

      Related Syntax
   marked-section include-end
   marked-section include-start
 
----

Top [CONTENTS] [CONCEPTS] [SYNTAX] [LIBRARIES] [SAMPLES] [ERRORS] [INDEX]

Generated: April 21, 1999 at 2:00:49 pm
If you have any comments about this section of the documentation, send email to [email protected]

Copyright © OmniMark Technologies Corporation, 1988-1999.