Wednesday, June 3, 2015

How to create XML models in Scala? - scalaxb

How to create XML models in Scala?

Currently the way to create XML models in Scala (like JAXB) is scalaxb, cf. https://github.com/eed3si9n/scalaxb, http://scalaxb.org/.

Among several ways, to run scalaxb sbt-scalaxb is the simplest one to do so but I believe there is no full covered procedure for that so I write it here :)

Let's say we use scalaxb 1.3.0.

1. Set up sbt files.


To call scalaxb from sbt 0.13.x, put this in your project/scalaxb.sbt:
resolvers += Resolver.sonatypeRepo("public")

addSbtPlugin("org.scalaxb" % "sbt-scalaxb" % "1.3.0")
and this in scalaxb.sbt:
scalaxbSettings
// Write your own package
packageName in scalaxb in Compile := "com.blogger.xml"

sourceGenerators in Compile <+= scalaxb in Compile
// The version of Dispatch, which is an HTTP access library and in some cases scalaxb depends on.
dispatchVersion in scalaxb in Compile := "0.11.2"

Note: As of Scala 2.11, you need to write the parsing library dependency separately, like
libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.4"

2. Put XSD files into src/main/xsd.


3. Run $ sbt scalaxb on your project.


4. You'll see generated sources in target/scala-2.11/src_managed/main/sbt-scalaxb.


That's it.

No comments:

Post a Comment