This page is no longer maintained — Please continue to the home page at www.scala-lang.org

ANN: scalaxb 0.5.1 is released

No replies
eed3si9n
Joined: 2010-01-24,
User offline. Last seen 42 weeks 6 days ago.
Hi all,
I'd like to announce scalaxb 0.5.1, an XML data binding tool for Scala. Changes since 0.4.0:
- Generates typeclass-based XML data binding code in a separate file xmlprotocol.scala. - Renames runtime package name from org.scalaxb.rt to scalaxb and the helper file to scalaxb.scala.- Fixes handling of <xs:all> containing >22 items (GH-10).- Fixes handling of <xs:complexType> containing >22 attribtues (GH-11). - Fixes handling of <xs:complexType> with <xs:simpleContent>, which restricts a mixed <xs:complexContent> (GH-12).- Fixes output instability (GH-13).- Fixes handling of circular <xs:import> by consolidating the XML databinding code into a single trait (GH-14). - Adds warning when <xs:include> item is missing from compilation (GH-15).- Fixes accessors to compositors by using type name as the param name. (GH-18)- Fixes generated type of nillable varargs. (also GH-18) - Command line program uses Scala 2.8.1.
I'd like to thank everyone who gave me feedback and reported issues.Special thanks go to Debasish Ghosh for his inspirational articles and Andreas Sewe for reporting most of the above bugs.
The most significant change is that the XML data binding code has moved from occupying the companion object of the case class to a separate trait called XMLProtocol. The usage code looks something like this:
    import scalaxb._    import Scalaxb._     import ipo._    import DefaultXMLProtocol._
    val shipTo = fromXML[Address](<shipTo>         <name>foo</name>        <street>1537 Paper Street</street>         <city>Wilmington</city>      </shipTo>)
The `shipTo` would now be
    Address("foo", "1537 Paper Street", "Wilmington")
More info as well as the online version is available at http://scalaxb.org.GitHub repo is at http://github.com/eed3si9n/scalaxb.
Thanks,e.e

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland