Generate example instances - enforce regex patterns

This should cover W3C XML Schema, Relax NG and DTD related problems.
mhGLEIF
Posts: 40

Generate example instances - enforce regex patterns

Wed Mar 08, 2017 11:52 am

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.
adrian
Posts: 2326

Re: Generate example instances - enforce regex patterns

Fri Mar 10, 2017 7:22 pm

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
Adrian Buza
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com

Return to “XML Schemas”

Who is online

Users browsing this forum: No registered users and 1 guest