ARTS  2.2.66
xml_io_private.h File Reference

This file contains private function declarations and template instantiation to handle XML data files. More...

#include "xml_io.h"
#include <stdexcept>
#include <cfloat>
#include "matpackVII.h"
#include "array.h"
#include "messages.h"
#include "ppath.h"
#include "agenda_class.h"
#include "absorption.h"
#include "gas_abs_lookup.h"
#include "optproperties.h"
#include "bifstream.h"
#include "bofstream.h"

Go to the source code of this file.

Classes

class  XMLAttribute
 XML attribute class. More...
 
class  ArtsXMLTag
 The ARTS XML tag class. More...
 

Functions

void xml_open_output_file (ostream &file, const String &name)
 
void xml_open_input_file (ifstream &file, 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)
 

Detailed Description

This file contains private function declarations and template instantiation to handle XML data files.

Author
Oliver Lemke olemk.nosp@m.e@co.nosp@m.re-du.nosp@m.mp.i.nosp@m.nfo
Date
2002-11-06

Definition in file xml_io_private.h.

Function Documentation

◆ xml_data_parse_error()

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.

Parameters
tagArtsXMLTag
str_errorError 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().

◆ xml_open_input_file()

void xml_open_input_file ( ifstream &  ifs,
const String name,
const Verbosity verbosity 
)

Open file for XML input.

This function opens an XML file for reading.

Parameters
ifsInput filestream
nameFilename

Definition at line 507 of file xml_io.cc.

References CREATE_OUT3.

Referenced by xml_read_arts_catalogue_from_file(), and xml_read_from_file().

◆ xml_open_output_file()

void xml_open_output_file ( ostream &  file,
const String name 
)

◆ xml_parse_error()

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.

Parameters
str_errorError 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().

◆ xml_read_footer_from_stream()

void xml_read_footer_from_stream ( istream &  is,
const Verbosity verbosity 
)

Reads closing root tag.

Checks whether XML file ends correctly with </arts>.

Parameters
isInput 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().

◆ xml_read_header_from_stream()

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.

Parameters
isInput stream
ftypeFile type
ntypeNumeric type
etypeEndian 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().

◆ xml_set_stream_precision()

void xml_set_stream_precision ( ostream &  os)

Definition at line 799 of file xml_io.cc.

References precision.

Referenced by xml_write_to_stream().

◆ xml_write_footer_to_stream()

void xml_write_footer_to_stream ( ostream &  os,
const Verbosity verbosity 
)

Write closing root tag.

Parameters
osOutput 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().

◆ xml_write_header_to_stream()

void xml_write_header_to_stream ( ostream &  os,
FileType  ftype,
const Verbosity verbosity 
)

Writes XML header and root tag.

Parameters
osOutput stream
ftypeFile 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().