A XmlChan is a specialised form of Channel which supports XML I/O operations. Writing an Object to an XmlChan (using AST_WRITE) will, if the Object is suitable, generate an XML description of that Object, and reading from an XmlChan will create a new Object from its XML description.
Normally, when you use an XmlChan, you should provide "
source"
and "
sink"
routines
which connect it to an external data store by reading and writing the resulting XML text.
By default, however, an XmlChan will read from standard input and write to standard
output.
Alternatively, an XmlChan can be told to read or write from specific text files using the SinkFile and SourceFile attributes, in which case no sink or source function need be supplied.
If the null routine AST_NULL is suppied as the SOURCE value, and no value has been set for the SourceFile attribute, the XmlChan will read from standard input instead.
If the null routine AST_NULL is suppied as the SINK value, and no value has been set for the SinkFile attribute, the XmlChan will write to standard output instead.
The names of the routines supplied for the SOURCE and SINK arguments should appear in EXTERNAL statements in the Fortran routine which invokes AST_XMLCHAN. However, this is not generally necessary for the null routine AST_NULL (so long as the AST_PAR include file has been used).
If the external data source or sink uses a character encoding other than ASCII, the supplied source and sink functions should translate between the external character encoding and the internal ASCII encoding used by AST.
A null Object pointer (AST__NULL) will be returned if this function is invoked with the AST error status set, or if it should fail for any reason.
Note that the null routine AST_NULL (one underscore) is different to AST__NULL (two underscores), which is the null Object pointer.