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.