...
Info | ||
---|---|---|
| ||
Note that this document is based on
|
Table of Contents | ||
---|---|---|
|
What is XMLLIB?
XMLLIB is a library for parsing xml-les in Fortran. This means that it provides subroutines for extracting values from an xml file.
...
Code Block |
---|
call xml2eg_free_doc(doc) |
The Xpath interface
It is not recommended to do any new implementations using the Xpath interface. For examples of how to use this interface, see the sample code.
The Konz interface
It is not recommended to do any new implementations using the Konz interface. For examples of how to use this interface, see the sample code.
Brief history of XMLLIB versions
The XMLLIB was originally develop by Christian Konz, who wrote the Konz interface within the EFDA-ITM environment, i.e. using CPOs. An extension to this interface then later written by Michal Owsiak and Denis Kalupin, who provided a routine find_parameter
, which greatly simplified the parsing. On top of the find_parameter
subroutine, Thomas Jonsson built the Xpath interface to even further simplify the parsing. The final component of the XMLLIB, the xml2eg
interface, was provided by Edmondo Giovannozzi.
All this development was done within the EFDA-ITM environment (later renamed EUROfusion-WPCD) with a dependence on the CPOs. With the development of the ITER IMAS, a branched of the XMLLIB library was developed that provided an IDS based interface.
The most recent step (as of september 2018) in the evolution of XMLLIB
was to develop a version that was completely independent of the IDS
and CPO
data structures. The first version of IDS
and CPO
independent version is based on the ITER git repository and is tagged 3.0.0
. Unfortunately, there are versions of XMLLIB
, stored in the WPCD svn repository, that have version numbers 3.?
that are still dependent on the CPOs.
Switching to version 3.0.0, independent of IDSs and CPOs
The 3.0.0 version of XMLLIB is independent of both the IDSs and CPOs. Earlier version of XMLLIB include all git-versions with version number below 3.0.0 (dependent on the IDSs) and all version stored in the WPCD svn repository (dependent on the CPOs). Here follows instructions for how to switch from the IDS or CPO dependent to version 3.0.0.
Real and integer precision
In IDS and CPO dependent versions of XMLLIB all subroutines use real and integer precision, as well as string lengths, defined within the IDS and CPO definitions. In order to move to a dataversion independent XMLLIB these types have been replaced by types defined within the XMLLIB module xmllib_types
. The translations between declarations within different XMLLIB version is provided in the table below.
IDS | CPO | XMLLIB 3.0.0 | |
---|---|---|---|
Module | ids_schema | euitm_schemas | xmllib_types |
Integer | integer(ids_int) | integer(itm_i4) | integer(int4) |
Float | real(ids_real) | real(euitm_r8) | real(r8) |
Strings | character(132) | character(ids_string_length) | character(132) |