to a set of corresponding JAXB classes to be used with [citygml4j v2](https://github.com/citygml4j/citygml4j/tree/citygml4j-v2).
[JAXB](https://jaxb.java.net/). ade-xjc compiles Energy ADE 3.0 schemas
to a set of corresponding JAXB classes to be used with Energy ADE 3.0 [citygml4j](https://transfer.hft-stuttgart.de/gitlab/energy-ade/energy-ade-3-citygml4j).
:information_source: ade-xjc is in **maintenance mode** with no significant active development planned. Existing
bugs will be fixed, but large new features will likely not be added. ade-xjc is intended to be used with citygml4j v2.
The latest [citygml4j v3](https://github.com/citygml4j/citygml4j) is not based on JAXB anymore but uses
[xml-objects](https://github.com/xmlobjects/xml-objects) instead. So, ade-xjc is not required anymore.
Compiling a CityGML ADE Schema
------------------------------
ade-xjc is a command line tool. In order to launch it, easiest way is to do the sample folder and follow the process below
1. edit binding.xjb
2. edit run-sample.bat
3. edit your XSD file and rename all schema location to local schemas (e.g. see Example folder)
4. run run-sample.bat (should output a log file and if it runs correctly your package folders)
To control the compilation process, ade-xjc offers the following program arguments.
|Argument | Description
|------|----------
|`-binding <fileName>` | An optional global JAXB binding file
|`-output <folderName>` | Target folder where to create the JAXB classes (default: `src-gen`)
|`-package <packageName>` | Name of the Java package to be used for the JAXB classes (default: `ade`)
|`-non-strict` | Per default, ade-xjc terminates with an error if the content of the `schemas` subfolder has been changed in order to ensure deterministic compilation results; use this argument to force ade-xjc to continue
|`-clean` | Cleans the output folder before compilation
|`-version, -v` | Prints version information to the console
|`-help`, `-h` | Prints a help message to the console
Note that the ade-xjc binding compiler requires that your ADE schema points to the official CityGML and GML
schemas provided in the subfolder `schemas`. So please adapt all `<xs:import>` statements in your ADE schema
accordingly before launching ade-xjc.
License
-------
ade-xjc is licensed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0).
...
...
@@ -25,12 +53,6 @@ The latest stable release of ade-xjc is 2.10.0.
Download the ade-xjc 2.10.0 release binaries [here](https://github.com/citygml4j/ade-xjc/releases/download/v2.10.0/ade-xjc-2.10.0.zip).
Previous releases are available from the [releases section](https://github.com/citygml4j/ade-xjc/releases).
Contributing
------------
* To file bugs found in the software create a GitHub issue.
* To contribute code for fixing filed issues create a pull request with the issue id.
* To propose a new feature create a GitHub issue and open a discussion.
Building
--------
ade-xjc requires Java 8 or higher. The project uses [Gradle](https://gradle.org/) as build system.
...
...
@@ -45,91 +67,18 @@ This will create a folder `build/install/ade-xjc` with the following subfolders:
*`sample` -- a sample CityGML ADE that you may use for testing
*`schemas` -- the official CityGML, GML and xAL schemas
Compiling a CityGML ADE Schema
------------------------------
ade-xjc is a command line tool. In order to launch it, open a shell environment and navigate to the root folder.
This folder contains the two start scripts `ade-xjc.bat` and `ade-xjc` targeted at Microsoft Windows environments
and UNIX-like environments (e.g. Linux, macOS). The command below exemplifies how to run ade-xjc to compile the
To control the compilation process, ade-xjc offers the following program arguments.
# Main developers and contributors
|Argument | Description
|------|----------
|`-binding <fileName>` | An optional global JAXB binding file
|`-output <folderName>` | Target folder where to create the JAXB classes (default: `src-gen`)
|`-package <packageName>` | Name of the Java package to be used for the JAXB classes (default: `ade`)
|`-non-strict` | Per default, ade-xjc terminates with an error if the content of the `schemas` subfolder has been changed in order to ensure deterministic compilation results; use this argument to force ade-xjc to continue
|`-clean` | Cleans the output folder before compilation
|`-version, -v` | Prints version information to the console
|`-help`, `-h` | Prints a help message to the console
Note that the ade-xjc binding compiler requires that your ADE schema points to the official CityGML and GML
schemas provided in the subfolder `schemas`. So please adapt all `<xs:import>` statements in your ADE schema
accordingly before launching ade-xjc.
Using JAXB plugins
------------------
Starting from version 2.4.3, ade-xjc allows you to use JAXB plugins in the ADE Schema compilation.
Simply put the JAXB plugin you want to use into the `jaxb-plugins` subfolder and provide the plugin-specific
command line arguments when executing ade-xjc. Please refer to the documentation of the JAXB plugin to learn
which command line arguments are available and how to use them.
The following JAXB plugins are already included and shipped with ade-xjc: