XSD - xs:all rewritten in [sequence + choice] or [dtd] : Short and **heavy** (at least for me right now). As the title describes, I try to get rid of `<xs:all>` in following xsd part:

    <xs:element name="root">
        <xs:complexType>
            <xs:all>
                <xs:element minOccurs="1" name="box-type-1"/>
                <xs:element minOccurs="0" name="box-type-2"/>
                <xs:element minOccurs="0" name="box-type-3"/>
                <xs:element minOccurs="0" name="box-type-4"/>
            </xs:all>
        </xs:complextype>
    </xs:element>


A big help would be:

- The really identical construct of the <xs:all> in a `<xs:sequence>` + `<xs:choice>` style. AFAIK it's possible, correct me if not.

- http://stackoverflow.com/a/7833274/6805256 This answer shows the DTD equivalent of a similar schema. Then I convert the valid and non corrupt DTD via oxygen to a xsd schema. [Output of the generated xsd is a version without any '<xs:all>'. (that roundtripping...)] **BUT** i can't adapt it to my needs and precise case.

Further more: I need the non-xs:all variant in an online editor that can't handle '<xs:all>' at all. YES it will be a huge overload and not maintainable.
+ too bad i can't show you my browser history about this topic to show any effort. i wouldn't ask, if i would be able to solve.