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.
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.