| Syntax 
   sgml-in (string-expression | #none)
  or
  sgml-out (string-expression | #none)
 
 Purpose
 
 sgml-inis used to manipulate record boundaries that are passed to the#markup-parserstream.sgml-outis used to manipulate record boundaries that are passed from the SGML parser to the output. Only in very rare circumstances does an OmniMark program have to use these actions to override OmniMark's default behavior.
 In SGML, a "record" is simply a line of text. The record boundaries are the characters that the SGML parser recognizes at the beginning and end of each line. For example, in MS-DOS systems, the record-end (RE) character is the line-end character, and the record-start (RS) character is the newline character. OmniMark's default behavior is to convert from the program's newline character ("%n") to SGML record boundaries on input to the SGML parser, and back to newline characters for text coming out of the SGML parser.
 If you want to change which characters are recognized by the SGML parser as record boundary characters, you would use sgml-into designate new characters. If you want to change which characters the SGML parser outputs as record boundary characters, you would usesgml-outto designate the characters. For example, the following sgml-outactions change which characters the SGML parser outputs as record boundaries:
   sgml-out "%13#%10#"  ; "normal" record boundaries
  sgml-out "]%13#%%10#}"  ; surrounds each line with square brackets
 sgml-inmay not be used in cross-translations. In all other OmniMark programs, it may never be used inmarkup-errorrules.
 sgml-outcannot be used in cross-translations. In other translations, it may be used only in markup processor rules, and is not allowed inmarkup-errorrules.
 Note that any change in the conversion of record boundaries by an sgml-inaction takes effect immediately for subsequent characters written to the#markup-parserstream. When #noneis specified, the conversion of the newline sequence is suppressed. |