using output as

control structure

Syntax
using output as destination modifiers? (& destination modifiers?)*
   local-scope

      

Argument definitions

destination
An output destination such as an open stream or an expression that returns a output destination (the file or referent keywords or an external string sink function)
modifiers
Modifiers that affect how data is written to the destination


Purpose

You can use using output as as a prefix to change the current output scope for the duration of a line or a block of code:

  process
     using output as file "out.txt"
        submit file "in.txt"
          

You can direct output to a file, as above, or to a stream, a referent, or a string sink as in the next three examples:

  process
     local stream foo
  
     open foo as buffer
     using output as foo
        submit file "in.txt"
  
  
  process
     using output as referent "foo"
        submit file "in.txt"
  
  
  process
     local xslt.stylesheet stylesheet initial { xslt.compile file "stylesheet1.xsl" }
  
     using output as xslt.writer with stylesheet into file "input1.out"
        submit file "input1.xml"
          

If you use using output as to output directly to a stream, that stream must be open:

  process
     local stream out-file
  
     open out-file as file "out.txt"
     using output as out-file
        submit file "in.txt"
          

If you use using output as with a stream or a string sink, you can apply the following modifiers:

  • a string expression containing element content modifiers
  • the binary open modifier

Related Syntax
Related Concepts