user2912044
user2912044

Reputation: 151

generate Go structs from XSD

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.

Upvotes: 15

Views: 16124

Answers (2)

ivarg
ivarg

Reputation: 785

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.

Upvotes: 6

Eve Freeman
Eve Freeman

Reputation: 33155

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

Upvotes: 11

Related Questions