Minimal utilities for working with Fast Infoset binary XML encoding
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Minimal utilities for working with Fast Infoset binary XML encoding. These utilities are intended for development, testing, debugging, and operational support. They are specifically NOT concerned with

  • runtime performance,
  • robustness,
  • fault tolerance,
  • threadsafety, or
  • low memory footprint

and in general are not intended as examples of proper production code. These are just to help you work manually with Fast Infoset, which is not only very difficult for a human to read, but usually unsupported by XML editors.


package gov.usgs.cida.fastinfoset

One file:


This is a simple utility with two core methods:

  • fiStream2xmlStream
  • xmlStream2fiStream

which are stream-to-stream reserialization methods that take two parameters, a and a They are thus very generally usable.

There are also convenience methods:

  • fiFile2xmlFile
  • xmlFile2fiFile

which accept file pathnames, reserializing the parsed content of the first and writing it to the second. All of the usual file I/O caveats apply.


There is one dependency jarfile, org.apache.servicemix.bundles.fastinfoset-1.2.2_1.jar, available from various mirrors.

Currently the use would be to instantiate the file in java, and execute its methods from there. (quick&dirty example: put your code in main(String[]) and run the file either from the commandline or your IDE.)

The commandline parameters are documented in the usage statement in the main method.

Planned extensions are 1) to add a simple jarfile build 2) to write a shell script to invoke java -jar and pass the necessary arguments in: "fi-convert -f -x targetfile.xml" or something of the sort.