utility and code-generation libraries for XML
Requires go 1.9 or greater for golang.org/x/html dependency.
go get aqwari.net/xml/...
This repository contains a collection of Go packages for working with XML, with the ultimate goal of enabling code generation based on XML documents.
xmltree
package converts xml documents to a tree data
structure, and provides convenient methods for manipulating and
searching through that tree.xsd
package implements a parser for XML Schema. It takes
some liberties from the specification, and would need some work for
use as a validator, but it handles type inheritance and XML namespaces
in a relatively sane way.xsdgen
package provides a customizable code generator that
generates Go type declarations and marshal/unmarshal methods for
an XML Schema.wsdl
package parses Web Service Definition Language (WSDL)
files, which describe a (usually) SOAP web service.wsdlgen
package generates Go source code from WSDL files.xsdgen
and wsdlgen
commands generate Go code with default
settings and are suitable for use with go generate
.The directory wsdlgen/examples contains packages that were (mostly) automatically generated using the wsdlgen package. You can run
go generate
within the subdirectories to re-generate the code if you make changes to the wsdlgen package. This code is still very rough around the edges, but I have succesfully used it to generate type declarations for some pretty complex XML schema from an Apache Axis application. There are github issues opened for missing functionality.