Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info
titlesource

Note that this document is based on TeX  based documentation prepared by Thomas. You can find TeX  file inside GIT  repository of xmllib - inside doc  directory

Code Block
> git clone ssh://git@git.iter.org/lib/xmllib.git
> cd xmllib/doc


Table of Contents
stylesquare

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.


IDSCPOXMLLIB 3.0.0
Moduleids_schema euitm_schemas xmllib_types 
Integerinteger(ids_int) integer(itm_i4) integer(int4) 
Floatreal(ids_real) real(euitm_r8) real(r8) 
Stringscharacter(132) character(ids_string_length) character(132)