scalaxb is an XML data-binding tool for Scala that supports W3C XML Schema (xsd) and Web Services Description Language (wsdl) as the input file.
From schema documents scalaxb will generate Scala source files containing case classes to represent the data and typeclass instances to turn XML documents into an object, and the object back to XML.
The latest is 1.5.0. Some things may not work. I'd really appreciate if you could run it against your favorite xsd file and let me know the result.
There are currently four ways of running scalaxb:
- command line app
- sbt plugin sbt-scalaxb
- maven plugin mvn-scalaxb
- web API scalaxb-heroku hosted on heroku
To call scalaxb from sbt 0.13.x, put this in your
resolvers += Resolver.sonatypeRepo("public") addSbtPlugin("org.scalaxb" % "sbt-scalaxb" % "X.X")
and this in
lazy val root = (project in file(".")). enablePlugins(ScalaxbPlugin). settings( name := "foo-project", scalaxbPackageName in (Compile, scalaxb) := "generated", // scalaxbAutoPackages in (Compile, scalaxb) := true scalaxbDispatchVersion in (Compile, scalaxb) := "0.11.3" )
command line app scalaxb
Further info is available at scalaxb.org.
If you're having problem with scalaxb, please take a moment and read issue reporting guideline.
It's the MIT License. See the file called LICENSE.