xsd2php icon indicating copy to clipboard operation
xsd2php copied to clipboard

maxOccurs and minOccurs in Roadmap?

Open ruskid opened this issue 9 years ago • 7 comments

It would be nice to have list of required elements. minOccurs Great parser!

ruskid avatar Feb 22 '17 15:02 ruskid

Can you elaborate a bit more?

goetas avatar Feb 22 '17 15:02 goetas

Ofcourse, for example I have several XSDs like this

<xsd:complexType name="FoodAndBeverage">
<xsd:all>
<xsd:element maxOccurs="1" minOccurs="1" name="shortDescription">...</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="keyFeatures" type="wm:KeyFeatures">...</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="unitsPerConsumerUnit">...</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="brand">...</xsd:element>
....

Class is created correctly, but it doesn't contain maxOccurs, minOccurs information.

/**
 * XSD Type: FoodAndBeverage
 */
class FoodAndBeverageType
{
    /**
     * @property string $shortDescription
     */
    private $shortDescription = null;

It would be nice to parse that information somehow.

ruskid avatar Feb 22 '17 16:02 ruskid

Also I noticed that enumeration elements are handled as simple strings?

<xsd:element maxOccurs="1" minOccurs="1" name="states">
<xsd:annotation>...</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="AL">...</xsd:enumeration>
<xsd:enumeration value="AK">...</xsd:enumeration>
<xsd:enumeration value="AZ">...</xsd:enumeration>
<xsd:enumeration value="AR">...</xsd:enumeration>
<xsd:enumeration value="CA">...</xsd:enumeration>
<xsd:enumeration value="CO">...</xsd:enumeration>
<xsd:enumeration value="CT">
<xsd:annotation>

ruskid avatar Feb 22 '17 16:02 ruskid

The validation of a data-structure is a different concept from the data-structure validation. There was some work done in https://github.com/goetas-webservices/xsd2php/pull/2 to enable validation, but at the moment is "WIP" https://github.com/goetas-webservices/xsd2php/pull/2

goetas avatar Feb 22 '17 16:02 goetas

Yep. I understand. this is why I am asking about the roadmap or progress on this. Thanks.

ruskid avatar Feb 22 '17 16:02 ruskid

was anything done about this?

eros23 avatar Jul 24 '18 06:07 eros23

If somebody is interested in sponsoring this feature I can continue to work on it.

Pricing can be agreed (compatible with west-european hourly rates).

goetas avatar Jan 20 '19 18:01 goetas