Skip to content

Optional struct fields with struct types throwing errors in xsdgen #101

Open
@nrlakin

Description

@nrlakin

I think this was introduced in #93 (I hit it merging #93 into my fork because I wanted optional structs to render as pointers).

Running xsdgen throws the following error:

error generating go structs from xsd: oadr2b/oadr2b_tmp.go:1114:16: expected type, found '&' (and 5 more errors) in package oadr2b

In the debug output that follows, I see the following struct rendered:

type X509DataType struct {
	Item             string                          `xml:",any"`
	X509IssuerSerial *X509IssuerSerialType           `xml:"http://www.w3.org/2000/09/xmldsig# X509IssuerSerial,omitempty"`
	X509SKI          *&{%!s(token.Pos=0) <nil> byte} `xml:"http://www.w3.org/2000/09/xmldsig# X509SKI,omitempty"`
	X509SubjectName  string                          `xml:"http://www.w3.org/2000/09/xmldsig# X509SubjectName,omitempty"`
	X509Certificate  *&{%!s(token.Pos=0) <nil> byte} `xml:"http://www.w3.org/2000/09/xmldsig# X509Certificate,omitempty"`
	X509CRL          *&{%!s(token.Pos=0) <nil> byte} `xml:"http://www.w3.org/2000/09/xmldsig# X509CRL,omitempty"`
}

I'm looking at it because I'd like the feature, but you may want to revert. I'll try to add a minimal schema to xsdgen/testdata that replicates the issue in any case.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions