|
|||||
Record boundaries: manipulating | |||||
Related Syntax |
In SGML, a document's text consists of records which are surrounded by SGML RS (record-start) and RE (record-end) characters. In general, OmniMark prepares the text directed to the markup processor so it will be suitable to the SGML parser, and text returned by the parser is similarly treated for the markup processor. OmniMark programmers and users usually never need to be aware of these two operations, but exceptions can arise.
The vast majority of applications on all systems use the line-feed and carriage-return character values for the record-start and record-end characters. As a consequence, very few applications will be affected by this behavior. To be affected, an application must use an SGML declaration that specifies RE and/or RS function character values other than those usually used by the system on which OmniMark is running.
OmniMark uses the system-defined values of line feed and carriage return for record-start and record-end, respectively.
By default, OmniMark supports the SGML form of line representation in the following two ways:
#markup-parser
stream, each instance of the newline sequence, "%n", is converted to the two-character sequence (RE, RS). The effect of this conversion is that each newline sequence becomes the record-end mark for the line the newline ends as well as the record-start mark for the following line.
OmniMark can be used to override this behavior with the sgml-in
and sgml-out
actions. These actions are intended to be used when the application's view of record boundaries is different from that specified in the SGML declaration.
Additionally, these two actions can be used to suppress record boundary conversion.
Related Syntax #markup-parser #sgml |
---- |