Warning, /libraries/binschema/README.md is written in an unsupported language. File is not indexed.

0001 # MSOScheme
0002 
0003 MSOScheme generates code to read Microsoft Office files
0004 
0005 The code is generated from a computer readable description of the Microsoft Office file format. This description is in the file `src/mso.xml` and follows the XML Schema in `src/mso.xsd`.
0006 
0007 MSOScheme can generate code for any project. To write a custom code generator for your project, add a custom generator to the class `mso.generator.ParserGeneratorRunner`.
0008 
0009 MSOScheme comes with three code generators:
0010 
0011 JavaParserGenerator
0012 : creates `mso.javaparser.GeneratedMsoParser`
0013   This parser parses from a `byte[]` that is passed to `LEInputStream`.
0014 
0015 QtParserGenerator
0016 : creates `simpleParser.h`, `simpleParser.cpp` and `generatedclasses.cpp`
0017   `simpleParser.h` and `simpleParser.cpp` are used by Calligra.
0018   The generated code can parse by reading from a `QIODevice` that is passed
0019   into a `LEInputStream`.
0020 
0021 QtApiGenerator
0022 : creates `api.h` and `api.cpp`
0023   The generated code parses files passed as a `const char*`.
0024 
0025 ## Building
0026 
0027 ### `mso.jar`
0028 
0029 The code generator is compiled into a jar file `mso.jar`, with
0030 ```bash
0031 ant mso.jar
0032 ```
0033 This step also runs the code generators that are shipped with MSOScheme.
0034 
0035 ### C++
0036 
0037 Builing the C++ code requires cmake, zlib, xml2, libxslt, make and Qt 4.8.
0038 
0039 ```bash
0040 ant generateParsers
0041 mkdir build
0042 cd build
0043 cmake ../cpp
0044 make
0045 ```
0046 
0047 This creates executables for testing the generated code on binary Microsoft Office documents.
0048 
0049 ## License
0050 
0051 MSOScheme is licensed as GNU Library General Public License v2.
0052 MSOScheme uses Apache POI which is licensed under Apache License Version 2.0.
0053 The files generated by MSOScheme are not under any license.