Fast and simple XML interface library
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bindings Now, only static or shared tixi lib is build Nov 28, 2018
cmake
doc
examples
src
tests
thirdparty
.gitignore
.gitmodules
.travis.yml
Android.mk
CMakeLists.txt Bumped version to 3.0.3 and added changelog Dec 1, 2018
Changelog
LICENSE
Makefile
Readme.md
appveyor.yml
configure

Readme.md

Build-Status

  • Linux/macOS: Build Status
  • Windows: Build status

TIXI

Installation

Description

TiXI is a fast and simple XML interface library and could be used from applications written in C, C++, Fortran, JAVA and Python. The library can be directly integrated into a code by third party software or can be used by users who don't want to deal with the complexity of XML when creating a new application. Although simplified and somewhat restricted compared to a full-fledged XML processing library the user can, for example, create documents, create and delete nodes, and add and remove element attributes. Routines to read and write simple text nodes and additionally specialized nodes holding integer and floating point numbers are part of this API. Furthermore, routines to process aggregates of these simple types have been implemented. For the processing of geometric data, reading and writing of multidimensional arrays or arrays of vectors, i.e. coordinates of points are supported. The library has been designed to hide the implementation details so that the underlying XML library, currently libxml2, can be replaced by another one without changing the XML processing API in the applications.

Reading a text attribute could be as easy as:

tixiGetTextAttribute( handle, elementPath, attributeName, &attributeValue );

Getting a double value would look like this:

tixiGetDoubleElement( handle, elementPath, &x );

Multi Language Support

The TIXI library is written in C, but there are interfaces and wrappers for C++, Fortran, Python, JAVA and Matlab. Take a look at our examples for C and Fortran.