xml - java sample for encoding/decoding EXI? -


i'm looking java sample program encoding/decoding exi (efficient xml interchange) streams, using either exificient or openexi.

could help? can't seem find sample app.

edit: alternatively, if point me towards documentation allow me use exificient or openexi, helpful. found javadoc have no idea classes use.

or, @staxman points out, there particular mention/discussion of appropriate top-level classes use 1 of standard xml apis?

using exificient, i've managed encode & decode sample xml exi using snippet "help" page , their "demo", i've managed following working using maven dependency

<dependency>     <groupid>com.siemens.ct.exi</groupid>     <artifactid>exificient</artifactid>     <version>0.9.4</version> </dependency> 

with code

import com.siemens.ct.exi.exifactory; import com.siemens.ct.exi.grammarfactory; import com.siemens.ct.exi.api.sax.exiresult; import com.siemens.ct.exi.api.sax.exisource; import com.siemens.ct.exi.helpers.defaultexifactory; import org.xml.sax.inputsource; import org.xml.sax.xmlreader; import org.xml.sax.helpers.xmlreaderfactory;  import java.io.file; import java.io.fileinputstream; import java.io.fileoutputstream;  import javax.xml.transform.transformerfactory; import javax.xml.transform.stream.streamresult;   // based on: https://sourceforge.net/p/exificient/code/head/tree/tags/exificient-0.9.4/src/sample/java/exificientdemo.java?format=raw public class minimalistexificientsample {      static final boolean use_schema = true;      public static void main(string[] args) throws exception{         file xmlin  = new file( "/home/artb/spring-core-4.1.6.release.pom.xml" );         fileinputstream xmlins = new fileinputstream( xmlin );          file exi = new file( "/home/artb/spring-core-4.1.6.release.pom." +(use_schema? "schema":"schemaless")+  ".exi" )         fileoutputstream exiouts = new fileoutputstream( exi );          file xmlout  = new file( "/home/artb/spring-core-4.1.6.release.pom." +(use_schema? "schema":"schemaless")+ ".xml" );          //settings         exifactory exifactory = defaultexifactory.newinstance();         exifactory.setgrammars( grammarfactory.newinstance().creategrammars( "/home/artb/maven-4.0.0.xsd" ) );          // encode         inputsource xmlis = new inputsource( xmlins );         exiresult exiresult = use_schema ? new exiresult(exifactory) : new exiresult();         exiresult.setoutputstream( exiouts );         xmlreader xmlreader = xmlreaderfactory.createxmlreader();         xmlreader.setcontenthandler( exiresult.gethandler() );         xmlreader.parse( xmlis );          // decode         fileoutputstream xmlouts = new fileoutputstream( xmlout );         fileinputstream exiins = new fileinputstream( exi );         inputsource exiis = new inputsource( exiins );         exisource exisource = use_schema ? new exisource(exifactory) : new exisource();         exisource.setinputsource(exiis);         exisource.setxmlreader( exisource.getxmlreader() );         transformerfactory.newinstance().newtransformer().transform(exisource, new streamresult(xmlouts));     }  } 

use maven xsd , spring 4.1.6 pom maven central sample data.

nb: output xml ought equivalent input, not equal since comments , whitespace lost , namespace aliases(? might using wrong term here) arbitrarily assigned.


Comments

Popular posts from this blog

c# - SharpSVN - How to get the previous revision? -

c++ - Is it possible to compile a VST on linux? -

url - Querystring manipulation of email Address in PHP -