My code takes that ZIP and extracts the RT xsds and builds the scala classes that to handle
the content of the XML. So everything comes from that ZIP.
I then have a viewer which uses those scala classes to load a file which the user chooses. I
have expanded the ZIP in to its own (1 per version of the ZIP) directory structure, and then
loaded each example into the viewer. All of them loaded except these two.
When the classes load the XML they load it with schema validation, using the RT xsds
extracted from the ZIP at the start of this process.
However the viewer is a manual process, and thus subject to human error - which I guess
is what must have happened, because I now can not find the error, they all load (except
PriorInformationNotice because my common code always insists on an ID).
So I guess we can mark this down my mistook. Sorry to raise a false alarm.
David
On Wednesday, 7 October 2020 16:31:54 BST Kenneth Bengtsson wrote:
Hi David
Thanks always for your diligent reviewing! The TC did review and approve resolutions to all
comments, as recorded here:
https://www.oasis-open.org/committees/document.php?document_id=67718&wg_abbrev=ubl[1]
However, upon further examination we were not able to reproduce the validation errors
with the two examples (Goods Certificate and Goods Item Passport). Could you check that
you are using the correct versions (XMLs and XSDs) please? The CSD03 version is
published here:
https://docs.oasis-open.org/ubl/csd03-UBL-2.3/UBL-2.3.zip[2]Best regards,
Kenneth
*From: *David Goodenough <
david.goodenough@broadwellmanor.co.uk>
*Date: *Thursday, August 20, 2020 at 12:00 PM
*To: *"ubl-comment@lists.oasis-open.org" <
ubl-comment@lists.oasis-open.org>
*Subject: *Re: [ubl-comment] Invitation to comment on Universal Business Language v2.3
from the UBL TC - ends September 2nd
There are still problems with the examples. Two of them will not load with schema
validation.
1) UBL-GoodsCertificate-2.3-Example.xml
lineNumber: 299; columnNumber: 29; cvc-complex-type.2.4.a: Invalid content was found
starting with element
'{"urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2":Acceptance
Indicator}'. One of
'{"urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2":Description
, "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2":Note,
"urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2":Validity
Period,
"urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2":IssuerP
arty}' is expected.
2) UBL-GoodsItemPassport-2.3-ExampleIssued.xml
lineNumber: 6; columnNumber: 18; cvc-complex-type.2.4.a: Invalid content was found
starting with element
'{"urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2":StatusCode
}'. One of
'{"urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2":IssueTime,
"urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2":Note,
"urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2":VersionID,
"urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2":ExportReaso
nCode,
"urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2":ExportReaso
n,
"urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2":Validity
Period,
"urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2":IssuerP
arty,
"urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2":Holder
Party}' is expected.
The final problem, and much the most serious, is with PriorInformationNotice. I think I
raised this before, but I think it is worth revisiting.
In all other root documents, the ID field is mandatory. Here it is optional. Without an ID
you can not create a DocumentReference, and thus ApplicationResponse, DocumentStatus
and DocumentStatusRequest are all useless.
I realise that this is an old (pre-2.30) document, but at least can we have a note
somewhere that says that this field should be present even if formally it is not required. I
only noticed this because the I have a base class for all my UBL objects, and this is passed
into the constructor for DocumentReference objects - I then strip the fields in this base
class from each object and include them by inheritance. So the two examples pass
schema validation, but my code will not load them as the base class has them as required.
At the very least there needs to be a note in the documentation saying that if you do not
provide an ID then DocumentReferences, ApplicationResponses, DocumentStatuses and
DocumentStatusRequests will not be able to be generated and so an ID should be
provided. I could make ID optional in my base class, and simply not generate a
DocumentReference if no ID is present, and use the schema to ensure that ID is present
where needed, but its absence renders the object so useless I am minded to leave it as it
(i.e. mandatory) and to reject any incoming object which leaves it out.
David
On Wednesday, 19 August 2020 03:54:46 BST Paul Knight wrote:
OASIS Members and other interested parties,
We are pleased to announce that Universal Business Language Version 2.3 from the UBL
TC [1] is now available for public review and comment. This is the third public review for
Universal Business Language v2.3.