GoComply / xsd2go

Automatically generate golang xml parser based on XSD
http://isimluk.com/posts/2020/05/xsd2go-automatically-generate-golang-xml-parsers/
The Unlicense
74 stars 44 forks source link

panic: Type xsd:Name not implemented #115

Open jgoodall opened 8 months ago

jgoodall commented 8 months ago

I am trying to convert the Grobid xsd files but I get a panic. Any help appreciated.

gocomply_xsd2go convert ./grobid/grobid-home/schemas/xsd/Grobid.xsd github.com/jgoodall/server/pkg/extraction/grobid/schema ./pkg/extraction/grobid/schema

Processing './grobid/grobid-home/schemas/xsd/Grobid.xsd'
    Parsing: ./grobid/grobid-home/schemas/xsd/Grobid.xsd
    Parsing: grobid/grobid-home/schemas/xsd/xml.xsd
    Parsing: grobid/grobid-home/schemas/xsd/Grobid.xsd
panic: Type xsd:Name not implemented

goroutine 1 [running]:
github.com/gocomply/xsd2go/pkg/xsd.StaticType(...)
    /Users/ojg/code/go/pkg/mod/github.com/gocomply/xsd2go@v0.1.8/pkg/xsd/types.go:293
github.com/gocomply/xsd2go/pkg/xsd.(*Schema).findReferencedType(0x1400029c780, {0x140003ef478, 0x7})
    /Users/ojg/code/go/pkg/mod/github.com/gocomply/xsd2go@v0.1.8/pkg/xsd/schema.go:97 +0x2e8
github.com/gocomply/xsd2go/pkg/xsd.(*Attribute).compile(0x1400049cbd0, 0x140001f8d98?)
    /Users/ojg/code/go/pkg/mod/github.com/gocomply/xsd2go@v0.1.8/pkg/xsd/attribute.go:97 +0xac
github.com/gocomply/xsd2go/pkg/xsd.(*ComplexType).compile(0x140000f73b0, 0x1400029c780, 0x1400040a140)
    /Users/ojg/code/go/pkg/mod/github.com/gocomply/xsd2go@v0.1.8/pkg/xsd/types.go:124 +0x104
github.com/gocomply/xsd2go/pkg/xsd.(*Element).compile(0x1400040a140, 0x14000324e40?, 0x0)
    /Users/ojg/code/go/pkg/mod/github.com/gocomply/xsd2go@v0.1.8/pkg/xsd/element.go:137 +0xa0
github.com/gocomply/xsd2go/pkg/xsd.(*Schema).compile(0x1400029c780)
    /Users/ojg/code/go/pkg/mod/github.com/gocomply/xsd2go@v0.1.8/pkg/xsd/schema.go:56 +0x50
github.com/gocomply/xsd2go/pkg/xsd.(*Workspace).loadXsd(0x1400022c5c0, {0x140004884b0, 0x29}, 0x1)
    /Users/ojg/code/go/pkg/mod/github.com/gocomply/xsd2go@v0.1.8/pkg/xsd/workspace.go:95 +0xa54
github.com/gocomply/xsd2go/pkg/xsd.(*Import).load(0x1400027e0a0, 0x1400022c5c0, {0x140004883c0?, 0x26?})
    /Users/ojg/code/go/pkg/mod/github.com/gocomply/xsd2go@v0.1.8/pkg/xsd/schema.go:301 +0x7c
github.com/gocomply/xsd2go/pkg/xsd.(*Workspace).loadXsd(0x1400022c5c0, {0x140004883c0, 0x26}, 0x1)
    /Users/ojg/code/go/pkg/mod/github.com/gocomply/xsd2go@v0.1.8/pkg/xsd/workspace.go:91 +0xa30
github.com/gocomply/xsd2go/pkg/xsd.(*Import).load(0x1400027e050, 0x1400022c5c0, {0x14000498040?, 0x2b?})
    /Users/ojg/code/go/pkg/mod/github.com/gocomply/xsd2go@v0.1.8/pkg/xsd/schema.go:301 +0x7c
github.com/gocomply/xsd2go/pkg/xsd.(*Workspace).loadXsd(0x1400022c5c0, {0x16d0af6a8, 0x2b}, 0x1)
    /Users/ojg/code/go/pkg/mod/github.com/gocomply/xsd2go@v0.1.8/pkg/xsd/workspace.go:91 +0xa30
github.com/gocomply/xsd2go/pkg/xsd.NewWorkspace({0x1400023d2c0, 0x5c}, {0x16d0af6a8, 0x2b}, {0x103416dc0, 0x0, 0x0})
    /Users/ojg/code/go/pkg/mod/github.com/gocomply/xsd2go@v0.1.8/pkg/xsd/workspace.go:27 +0xf0
github.com/gocomply/xsd2go/pkg/xsd2go.Convert({0x16d0af6a8, 0x2b}, {0x16d0af6d4, 0x3d}, {0x16d0af712, 0x1e}, {0x103416dc0, 0x0, 0x0})
    /Users/ojg/code/go/pkg/mod/github.com/gocomply/xsd2go@v0.1.8/pkg/xsd2go/generate.go:12 +0xf8
github.com/gocomply/xsd2go/cli/cmd.init.func2(0x140001976b8?)
    /Users/ojg/code/go/pkg/mod/github.com/gocomply/xsd2go@v0.1.8/cli/cmd/cmd.go:44 +0xa8
github.com/urfave/cli.HandleAction({0x1030943a0?, 0x1030f5ad0?}, 0x7?)
    /Users/ojg/code/go/pkg/mod/github.com/urfave/cli@v1.22.14/app.go:524 +0x58
github.com/urfave/cli.Command.Run({{0x102fdd708, 0x7}, {0x0, 0x0}, {0x0, 0x0, 0x0}, {0x102ff57d3, 0x44}, {0x0, ...}, ...}, ...)
    /Users/ojg/code/go/pkg/mod/github.com/urfave/cli@v1.22.14/command.go:175 +0x534
github.com/urfave/cli.(*App).Run(0x1400027c380, {0x140000120a0, 0x5, 0x5})
    /Users/ojg/code/go/pkg/mod/github.com/urfave/cli@v1.22.14/app.go:277 +0x7f8
github.com/gocomply/xsd2go/cli/cmd.Execute()
    /Users/ojg/code/go/pkg/mod/github.com/gocomply/xsd2go@v0.1.8/cli/cmd/cmd.go:21 +0x114
main.main()
    /Users/ojg/code/go/pkg/mod/github.com/gocomply/xsd2go@v0.1.8/cli/gocomply_xsd2go/main.go:8 +0x1c