xuri / xgen

XSD (XML Schema Definition) parser and Go/C/Java/Rust/TypeScript code generator
BSD 3-Clause "New" or "Revised" License
339 stars 80 forks source link

make sequence mandate plural elements if maxOccurs is present #82

Closed wiegell closed 1 week ago

wiegell commented 2 weeks ago

PR Details

Make sequence maxOccurs supported on a sequence element

Description

When maxOccurs is present on a sequence, the inner elements can be repeated, so they should be of plural type

Related Issue

Fixes half of #47

Motivation and Context

I had the occurrence of an .xsd with maxOccurs on a sequence on a spec

How Has This Been Tested

Implemented test cases, tried it at my own case, where it works too. Does not seem to change other test cases. I'm not an expert in .xsd's and the workings of xgen, but i had the feeling, that a problem could occur, where nested sequence elements could be of different types (plural vs. singular) and i should have covered that in the code, but i'm not really sure how to write a test for it - suggestions welcome.

Types of changes

Checklist