Thanks to visit codestin.com
Credit goes to github.com

Skip to content

alexanderwolz/xsd-generator

Repository files navigation

XSD Generator

GitHub release (latest by date) GitHub GitHub code size in bytes GitHub all releases

🧑‍💻 About

This repository provides generators for creating Java classes out of XSD schema files.

🛠️ Build

  1. Create jar resource using ./gradlew clean build
  2. Copy /generator/build/libs/*.jar into your project
  3. Use the parser directly or add the Gradle task to your build.gradle(.kts)

📦 Getting the latest release

You can pull the latest binaries from the central Maven repositories:

with Gradle

implementation("de.alexanderwolz:xsd-generator-client:1.5.3")

with Maven

<dependency>
  <groupId>de.alexanderwolz</groupId>
  <artifactId>xsd-generator</artifactId>
    <version>1.5.3</version>
</dependency>

🪄 Example

Simple schema file generation

val generator = XsdJavaGenerator("build/generated/xjc")
val schema = File(schemaDir, "articleListCollection_v3.xsd")
val bindings = listOf(File(schemaDir, "${schema.nameWithoutExtension}.xjb.xml"))
val episodes = emptyList<File>()
val catalog = null
val createEpisode = true
val flags = Flags.DEFAULTS
val packageName = "com.domain.generated"
generator.generate(listOf(schema), bindings, episodes, catalog, createEpisode, flags, packageName)

Recursive auto resolving of nested schema files

val generator = XsdJavaGenerator.create(xjcGenDir, Charsets.UTF_8, customLogger)
generator.generateAutoResolve(
    "complexParent_v6.xsd",
    schemaFolder,
    useFilenameVersions = true,
    flags = Flags.values().toList()
)

Use as Gradle Task

tasks.register<XsdJavaGeneratorTask>("generateModel") {
    outputDir = xjcGenDir
    schemas = fileTree(schemaFolder) { include("article_v3.xsd", "complexParent_v6.xsd") }.files
    useFilenameVersions = true
    flags = Flags.values().toList()
}

Made with ❤️ in Bavaria
© 2025, Alexander Wolz

About

Generates Java classes from XML Schema files (XSD) using Kotlin, JaxB and XJC

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages