goetas-webservices / xsd2php

Convert XSD into PHP classes and JMS serializer definitions
MIT License
238 stars 91 forks source link

ComplexType with single Sequence fails to generate underlying type class #169

Open rtek opened 7 months ago

rtek commented 7 months ago

This XSD generates a class that extends a type that doesnt get generated.

<xs:schema xmlns="bug" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="bug">
    <xs:element name="Bugs" type="Bugs"/>
    <xs:complexType name="Bugs">
        <xs:sequence>
            <xs:element name="Bug" type="Bug" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="Bug">
        <xs:sequence>
            <xs:element name="Bug" type="xs:string" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
</xs:schema>
/**
 * Class representing Bugs
 */
class Bugs extends BugsType //BugsType does not get created
{
}

It appears that BugsType gets flagged as skip here https://github.com/goetas-webservices/xsd2php/blob/master/src/Php/PhpConverter.php#L276

I switched the sequence to a choice as a workaround.