ARTS
2.2.66
|
This file contains basic functions to handle XML data files. More...
#include "arts.h"
#include "xml_io.h"
#include "xml_io_private.h"
#include "xml_io_types.h"
#include "bofstream.h"
#include "bifstream.h"
#include "file.h"
#include "parameters.h"
#include "xml_io_instantiation.h"
Go to the source code of this file.
Functions | |
void | filename_xml (String &filename, const String &varname) |
Gives the default filename for the XML formats. More... | |
void | filename_xml_with_index (String &filename, const Index &file_index, const String &varname) |
Gives the default filename, with file index, for the XML formats. More... | |
void | xml_open_output_file (ofstream &file, const String &name) |
Open file for XML output. More... | |
void | xml_open_input_file (ifstream &ifs, const String &name, const Verbosity &verbosity) |
Open file for XML input. More... | |
void | xml_parse_error (const String &str_error) |
Throws XML parser runtime error. More... | |
void | xml_data_parse_error (ArtsXMLTag &tag, String str_error) |
Throws XML parser runtime error. More... | |
void | xml_read_header_from_stream (istream &is, FileType &ftype, NumericType &ntype, EndianType &etype, const Verbosity &verbosity) |
Reads XML header and root tag. More... | |
void | xml_read_footer_from_stream (istream &is, const Verbosity &verbosity) |
Reads closing root tag. More... | |
void | xml_write_header_to_stream (ostream &os, FileType ftype, const Verbosity &verbosity) |
Writes XML header and root tag. More... | |
void | xml_write_footer_to_stream (ostream &os, const Verbosity &verbosity) |
Write closing root tag. More... | |
void | xml_set_stream_precision (ostream &os) |
template<typename T > | |
void | xml_read_from_file (const String &filename, T &type, const Verbosity &verbosity) |
Reads data from XML file. More... | |
void | xml_read_arts_catalogue_from_file (const String &filename, ArrayOfLineRecord &type, const Numeric &fmin, const Numeric &fmax, const Verbosity &verbosity) |
template<typename T > | |
void | xml_write_to_file (const String &filename, const T &type, const FileType ftype, const Index no_clobber, const Verbosity &verbosity) |
Write data to XML file. More... | |
This file contains basic functions to handle XML data files.
Definition in file xml_io.cc.
Gives the default filename for the XML formats.
The default name is only used if the filename is empty.
filename | filename |
varname | variable name |
Definition at line 350 of file xml_io.cc.
References out_basename.
Referenced by ReadXML(), and WriteXML().
void filename_xml_with_index | ( | String & | filename, |
const Index & | file_index, | ||
const String & | varname | ||
) |
Gives the default filename, with file index, for the XML formats.
The default name is only used if the filename is empty.
[out] | filename | filename |
[in] | file_index | Index appended to the filename |
[in] | varname | variable name |
Definition at line 370 of file xml_io.cc.
References out_basename.
Referenced by ppathWriteXMLPartial(), ReadXMLIndexed(), and WriteXMLIndexed().
void xml_data_parse_error | ( | ArtsXMLTag & | tag, |
String | str_error | ||
) |
Throws XML parser runtime error.
This is used quite often inside the data parsing routines so it's a function for itself.
tag | ArtsXMLTag |
str_error | Error description |
Definition at line 622 of file xml_io.cc.
References ArtsXMLTag::write_to_stream().
Referenced by xml_parse_from_stream(), and xml_read_from_stream().
Open file for XML input.
This function opens an XML file for reading.
ifs | Input filestream |
name | Filename |
Definition at line 507 of file xml_io.cc.
References CREATE_OUT3, igzstream::open(), ArtsXMLTag::verbosity, and xml_open_input_file().
Referenced by xml_open_input_file(), xml_read_arts_catalogue_from_file(), and xml_read_from_file().
void xml_open_output_file | ( | ofstream & | file, |
const String & | name | ||
) |
Open file for XML output.
This function opens an XML file for writing.
file | Output filestream |
name | Filename |
Definition at line 402 of file xml_io.cc.
References ArtsXMLTag::name, my_basic_string< charT >::nelem(), and ogzstream::open().
Referenced by xml_write_to_file().
void xml_parse_error | ( | const String & | str_error | ) |
Throws XML parser runtime error.
This is used quite often inside the parsing routines so it's a function for itself.
str_error | Error description |
Definition at line 605 of file xml_io.cc.
Referenced by ArtsXMLTag::check_attribute(), ArtsXMLTag::check_name(), ArtsXMLTag::get_attribute_value(), ArtsXMLTag::read_from_stream(), xml_read_from_stream(), and xml_read_header_from_stream().
void xml_read_arts_catalogue_from_file | ( | const String & | filename, |
ArrayOfLineRecord & | type, | ||
const Numeric & | fmin, | ||
const Numeric & | fmax, | ||
const Verbosity & | verbosity | ||
) |
Definition at line 900 of file xml_io.cc.
References CREATE_OUT2, FILE_TYPE_ASCII, find_xml_file(), xml_open_input_file(), xml_read_footer_from_stream(), xml_read_from_stream(), and xml_read_header_from_stream().
Referenced by abs_linesReadFromArts().
void xml_read_footer_from_stream | ( | istream & | is, |
const Verbosity & | verbosity | ||
) |
Reads closing root tag.
Checks whether XML file ends correctly with </arts>.
is | Input stream |
Definition at line 742 of file xml_io.cc.
References ArtsXMLTag::check_name(), and ArtsXMLTag::read_from_stream().
Referenced by xml_read_arts_catalogue_from_file(), and xml_read_from_file().
void xml_read_from_file | ( | const String & | filename, |
T & | type, | ||
const Verbosity & | verbosity | ||
) |
Reads data from XML file.
This is a generic functions that is used to read the XML header and footer info and calls the overloaded functions to read the data.
filename | XML filename |
type | Generic return value |
Definition at line 831 of file xml_io.cc.
References CREATE_OUT2, FILE_TYPE_ASCII, find_xml_file(), xml_open_input_file(), xml_read_footer_from_stream(), xml_read_from_stream(), and xml_read_header_from_stream().
Referenced by abs_cia_dataReadFromXML(), AtmRawRead(), DoitAngularGridsSet(), magfield_nk(), main(), ParticleType2abs_speciesAdd(), ParticleTypeAdd(), ParticleTypeAddAll(), ReadXML(), ReadXMLIndexed(), ScatteringParticleTypeAndMetaRead(), test45(), test46(), ybatchMetProfiles(), and ybatchMetProfilesClear().
void xml_read_header_from_stream | ( | istream & | is, |
FileType & | ftype, | ||
NumericType & | ntype, | ||
EndianType & | etype, | ||
const Verbosity & | verbosity | ||
) |
Reads XML header and root tag.
Check whether XML file has correct version tag and reads arts root tag information.
is | Input stream |
ftype | File type |
ntype | Numeric type |
etype | Endian type |
Definition at line 644 of file xml_io.cc.
References ArtsXMLTag::check_name(), ENDIAN_TYPE_BIG, ENDIAN_TYPE_LITTLE, FILE_TYPE_ASCII, FILE_TYPE_BINARY, ArtsXMLTag::get_attribute_value(), NUMERIC_TYPE_DOUBLE, NUMERIC_TYPE_FLOAT, ArtsXMLTag::read_from_stream(), and xml_parse_error().
Referenced by xml_read_arts_catalogue_from_file(), and xml_read_from_file().
void xml_set_stream_precision | ( | ostream & | os | ) |
Definition at line 799 of file xml_io.cc.
References precision.
Referenced by xml_write_to_stream().
void xml_write_footer_to_stream | ( | ostream & | os, |
const Verbosity & | verbosity | ||
) |
Write closing root tag.
os | Output stream |
Definition at line 788 of file xml_io.cc.
References ArtsXMLTag::set_name(), and ArtsXMLTag::write_to_stream().
Referenced by xml_write_to_file().
Writes XML header and root tag.
os | Output stream |
ftype | File type |
Definition at line 756 of file xml_io.cc.
References ArtsXMLTag::add_attribute(), FILE_TYPE_ASCII, FILE_TYPE_BINARY, FILE_TYPE_ZIPPED_ASCII, ArtsXMLTag::set_name(), and ArtsXMLTag::write_to_stream().
Referenced by xml_write_to_file().
void xml_write_to_file | ( | const String & | filename, |
const T & | type, | ||
const FileType | ftype, | ||
const Index | no_clobber, | ||
const Verbosity & | verbosity | ||
) |
Write data to XML file.
This is a generic functions that is used to write the XML header and footer info and calls the overloaded functions to write the data.
filename | XML filename |
type | Generic input value |
no_clobber | 0: Overwrite, 1: Use unique filename |
ftype | File type |
Definition at line 982 of file xml_io.cc.
References add_basedir(), CREATE_OUT2, FILE_TYPE_ASCII, FILE_TYPE_ZIPPED_ASCII, make_filename_unique(), xml_open_output_file(), xml_write_footer_to_stream(), xml_write_header_to_stream(), and xml_write_to_stream().
Referenced by DoitWriteIterationFields(), main(), test45(), test46(), WriteXML(), and ybatchMetProfilesClear().