Page 1 of 1

Generate example instances - enforce regex patterns

Posted: Wed Mar 08, 2017 11:52 am
by mhGLEIF
Dear Oxygen colleagues,

I noticed that when generating examples with XSDs containing following content model, not all of the restrictions are followed:

Code: Select all

    <xs:simpleType name="datetime-profile">
        <xs:restriction base="xs:dateTime">
            <xs:pattern
                value="([^\.]*|([^\.]*(\.((\d){1,3})){0,1}))[b](Z|\+([01][0-9]|2[0-3]):([0-5][0-9])|-([01][0-9]|2[0-3]):([0-5][0-9])[/b])"
            />
        </xs:restriction>
    </xs:simpleType>


The bold part enforces that the ISO 8601 timezone MUST be present.

This works in oxygen for validation of existing instances; however, new instances generated using this type do not have timezone info.

When it's added manually the instances validate.

Re: Generate example instances - enforce regex patterns

Posted: Fri Mar 10, 2017 7:22 pm
by adrian
Hello,

I'm afraid this is not working due to the fact that xs:dateTime already has a pattern. The XML instance generator from Oxygen cannot combine two patterns when generating sample values, so any restriction that you add to such types cannot be enforced.

Please see the discussion here: date format in xmlGenerator

Regards,
Adrian