Generate Avro schema and Avro binary from XSD schema and XML
Java
Latest commit c816697 Jan 14, 2015 @dmitrypekar dmitrypekar added: usage of Xerces default type names for anonymous type. Example…
…: Anon_div, Anon_root, etc.

README.md

xml-avro

This project provides Converter to convert generic xsd/xml to asvc/avro files. Avro schema and avro file are generated from xsd schema and xml file.

Additionally it includes simple schemaless converter that converts xml to avro and avro to xml.

Running Project

  1. git clone;
  2. mvn package;
  3. java -jar target/xml-avro*.jar {} {} // converts specified xml+xsd to avro+asvc files
  4. java -cp target/xml-avro*.jar ly.stealth.xmlavro.simple.Converter avro // convert xml to avro
  5. java -cp target/xml-avro*.jar ly.stealth.xmlavro.simple.Converter xml // convert avro to xml

Schema-based converter

Usage:

XML Avro converter.
Usage: "{-d|--debug} {-b|--baseDir <baseDir>} <xsdFile> <xmlFile> {<avscFile>} {<avroFile>}"

Restrictions

Schema-based converter currently only supports conversion in one direction: from xml to avro.

Converter has following restriction:

  • xml docs with multiple namespaces are not supported;
  • complex type extensions are not supported;

Simple converter

Usage:

{avro|xml} <inFile> <outFile>

Note: simple converter uses predefined general avro schema located at src/ly/stealth/xmlavro/simple/xml.avsc