Markup rules

OmniMark provides a complete set of markup rules that can be used to process markup streams. A markup stream is usually produced from an SGML or XML marked-up document that has been parsed with the appropriate parser. The available markup rules correspond to all features of SGML and XML, but they can also be applied to a user-generated markup stream.

data-content rules allow you to capture the character data content in the input markup stream.

document-end rules are fired immediately after the parsing of an SGML or XML document has been completed in an aided translation type program. document-end rules are termination rules: they can be used for doing process cleanup and final processing before a program completes.

document-start rules are fired just before the implicit parsing of an SGML or XML document begins. document-start rules are initialization rules: they can be used for doing any sort of program setup that has to be done before the main processing begins. These rules can only be used in aided translation type programs.

document-type-declaration rules can be used in programs that process marked-up documents containing a DTD. document-type-declaration rules are fired when the DOCTYPE declaration is encountered.

dtd-end rules can be used in programs that process marked-up documents containing a DTD. dtd-end rules are fired after the DTD has been completely processed.

dtd-start rules are fired after the doctype element has been specified in a DTD, but before the main part of the DTD is processed.

element rules are used to execute specified actions when the element named in the element rule header is encountered in the input document. It is important to note that for each occurrence of an element in the markup stream exactly one element rule must fire.

epilog-start rules fire just before the processing of the document epilog begins.

external-data-entity rules can be used to specify special processing of external data entities that are encountered in SGML documents. Note that you must have an external-data-entity rule that can be fired for each occurrence of an external data entity in the input.

external-text-entity rules can be used to provide the full-text replacement for each external text entity reference that appears in the input markup stream.

invalid-data rules can be used to control the processing of erroneous data appearing in the input stream.

marked-section rules provide the ability to specify the processing of any type of marked section that appears in an SGML or XML document. Marked sections types include cdata, rcdata, ignore, and include.

markup-comment rules are fired whenever a markup comment is encountered; they provide control over how the content of the comment is processed.

markup-error rules are fired if an error is encountered in the markup.

processing-instruction rules provide control of the handling of processing instructions that are encountered in the input stream.

prolog-end rules are fired just after the prolog has been completely processed.

prolog-in-error rules are fired if an error is encountered in the prolog of a marked-up input document.

sgml-declaration-end rules can be used in programs that process SGML documents. All SGML documents contain an SGML Declaration, whether it be explicit or implicit, so these rules will always fire if they are used. sgml-declaration-end rules fire after the declaration has been completely processed.

translate rules are fired when data content matching a specified pattern occurs within the input stream. translate rules can also be used to process attribute values that are output using %v.

xmlns-change rules are fired for every change of the current namespace within the processed markup stream.