marked-section include-start

rule

Syntax
marked-section include-start condition?
   action*


Purpose

Unlike most marked section rules, include rules are split into two sets of rules: marked-section include-start rules and marked-section include-end rules. This is because an include-marked section can start in the context of one element and end in the context of another ("merging" the specifications), and so can overlap the structure that ties the components of a parsed SGML document together. To avoid the complications that could result from trying to "merge" the specifications for the rules for include-marked sections with the applicable element and data-content, the include rules apply only to the start and end of the marked section.

Clearly, marked-section include-start applies to the start of the marked section.

  • If no marked-section include-start rule is performed at the start of an include-marked section, then the starting markup is ignored by the OmniMark program (though not by the SGML parser).
  • Only one marked-section include-start rule may be selected for each marked section. If more than one rule applies, then each must have a condition. It is an error for more than one marked-section include-start rule to be selected for an include-marked section.
  • The marked-section include-start rule is applied when the [ at the end of the header of the marked section is encountered. Any comment in the header of the marked section is processed prior to the processing of the marked-section include-start rule.
  • Only marked sections in the document are available for processing by an OmniMark program. Marked sections in the DTD are always ignored, whether or not there is a marked-section rule in the OmniMark program.
  • Neither the %c operator nor the suppress action can be used in a marked-section include-end rule.

The following is an example of a marked-section include-start rule:

  marked-section include-start
     do when element is (p | title)
        output " (Start of bracketed text)"
     else
        output "(Start of bracketed text)%n"
     done