Closed laurentg closed 1 year ago
From what I have gathered reading https://github.com/ITxPT/DATA4PTTools/blob/develop/xsd/netex/1.2/netex_framework/netex_genericFramework/netex_organisation_version.xsd#L254, the order is important (given <xsd:sequence>
), the elements must appear in the same order as in the definition i.e. swapping the place of <ContactDetails>
and <Locale>
should fix the issue.
Working example
<ResourceFrame version="any" id="FOO:ResourceFrame:0">
<organisations>
<Authority version="any" id="FOO:Authority:1">
<Name lang="fr">FOO</Name>
<Locale>
<TimeZone>Europe/Paris</TimeZone>
<DefaultLanguage>fr</DefaultLanguage>
</Locale>
<ContactDetails>
<Phone>0102030405</Phone>
<Url>https://www.foo.com</Url>
</ContactDetails>
</Authority>
</organisations>
</ResourceFrame>
Indeed, that solved the issue. The generated java binding classes does not enforce the fact that the order matters.
I'm getting the following XSD validation error for the file below, which at first sight seems correct to me and to my understanding of the XSD:
The faulty part is (extract of the relevant section):
Reading the Netex 1.2.2 generated Java binding classes, the "rest" field of the "Organisation_VersionStructure" can refer to "Locale" in it's list. The XML above is generated using the binding classes + JAXB.
Is it a faulty interpretation of the specs? Or a bug in the validator?
Note 1: I'm using a 1.2.2 version to generate the XML, however the XSD part of the relevant section from my validator is exactly the same as the one I'm using to generate the file.
Note 2: The validation error is raised by both the latest docker image and the online validator.