Reputation: 151
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
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:
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
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