| Syntax 
   open stream-name indexer? open-modifiers? as attachment
 
 Purpose
 
 Setting a stream to openallows it to be written to and causes previous contents to be lost, just as though the stream had been discarded. A stream can be opened if it is:
 unattached
closed
opened, but is not part of current output
 The permitted attachments are:
 buffer, which opens the stream as a buffer.referentstring-expression, which opens the stream as a referent whose name is given by the string expression.filestring-expression, which opens the stream as a file whose name is given by the string expression. This is the recommended way to open files.external-output-functioncall, which opens the stream as a "connection" to an external output function. When data is written to the stream, it is processed by the external output function. This extends the ways in which OmniMark interacts with the external environment, simply by adding external function libraries.
 Open modifiers are modifiers that affect how the stream is opened. If more than one open modifier is specified, they must be enclosed in parentheses and separated by "&". Each modifier can be specified only once. The modifiers are:
 (Note that for backward compatibility, OmniMark allows the filekeyword to be omitted from thefileattachment. This practice is deprecated in versions of OmniMark later than V3.)
   local stream x
  ...
  open x as binary-mode file "y"
  open x as file binary-mode file "y"
  open x with binary-mode as file "y"
 This code fragment includes three  different open...as filestatements. The first two are equivalent, though the second is the more efficient form of the statement. The third action is different. In the first action, note that binary-mode file "y"is a string expression, whose value is the content of the binary file named "y". This is the deprecated form of "open...as file" (with the keywordfileomitted), so that x is opened as a file whose name is contained in the binary file "y". On systems wheretext-modeis the default, x will be opened in text mode; on other systems, it will be opened in binary mode. The second action is a slightly clearer way of doing the same thing as the first action. You are strongly encouraged to use this second form instead of the first.
 The third action opens x in binary mode with the name "y". |