contentsconceptssyntaxlibrariessampleserrorsindex
Full text search
Referents: writing to different types of streams
Prerequisite Concepts     Related Syntax  

Almost any type of stream may have the referents-allowed modifier set. The referents-allowed open modifier is allowed in an open action or set (set stream) action for a buffer, referent, file, or external output function. It is also allowed on a reopen action.

Streams to which referents have been written cannot be used as string values in an OmniMark program, because they do not take on their final value (that is, are resolved) until the end of the program, or the end of the "referent scope" in which they are opened.

A file to which referents have been written does not overwrite the original file until all of the referents are resolved. An attempt to access a file that has had referents written to it ignores the version of the file written with referents. The current version of the file (if it exists at that point) is accessed.

For buffers and referents that are referents-allowed and which have been closed, their values can only be copied to streams with either the referents-allowed modifier enabled (in which case the referents are simply copied over), or the referents-displayed modifier enabled (in which case the referents are converted to text).

Whether streams can be used as "ordinary" string values, or whether they can only be copied to other streams with referents-allowed depends on whether the streams were opened with referents-allowed themselves, not on whether or not referents have actually been written to them.

referents-allowed streams that are opened in "nested referent scopes" are coerced to the equivalent non-referents-allowed streams at the end of the nested referent scope, and, once closed, can be used as string values after that point.

Prerequisite Concepts
     Referents
 
  Related Syntax
   referents-allowed
   referents-displayed
 
----

Top [CONTENTS] [CONCEPTS] [SYNTAX] [LIBRARIES] [SAMPLES] [ERRORS] [INDEX]

Generated: April 21, 1999 at 2:00:51 pm
If you have any comments about this section of the documentation, send email to [email protected]

Copyright © OmniMark Technologies Corporation, 1988-1999.