Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

generate Go structs from XSD

Tags:

xml

jaxb

go

xsd

xjc

recently I am planing to do a project using Go. My problem is : given a XSD file, how to auto-generate structs in Go to represent the XML elements. It is similar to using 'xjc' to generate java classes from XSD. So is there any tools or packages to do this in Go?

Thanks in advance.

like image 424
user2912044 Avatar asked Dec 22 '13 21:12

user2912044


2 Answers

Looks like it might need some TLC for 1.2 support, but there's: https://github.com/metaleap/go-xsd

Which has a set of example packages that have been generated for different common XML formats: https://github.com/metaleap/go-xsd-pkg

like image 192
Eve Freeman Avatar answered Sep 28 '22 22:09

Eve Freeman


I started writing github.com/ivarg/goxsd for generating XML structs from an XSD spec. While it is still incomplete in relation to the XSD schema reference, It does cover for some of the most common use cases. Maybe it can be useful for others.

It is currently written to be run from command line, or as a go generate statement within a source file. It produces formatted code, and provides options to:

  • generate exported or unexported XML structs
  • name an output file (default is stdout)
  • specify a package name

It currently only handles XSD shema files in the local file system, and does not handle namespaces (they are ignored), or generate validation code.

like image 30
ivarg Avatar answered Sep 28 '22 22:09

ivarg