OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ubl-dev message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: UBL- just how reliable are XSD based syntax checks?


Ken, 

I spotted these statements in the email discussions - that were grouped
together (see below). 

Now - let me postulate that it is entirely possible to create XML
documents - that while they may conform to the UBL schemas exactly -
will cause any UBL-based system to crash and fail if they attempt to
process them - with such errors as null pointer exceptions, character
exceptions, invalid data errors, namespace exceptions, SQL errors and
more - EVEN THOUGH the XML passed the XML parser schema check just
perfectly!  I speak from hard experience with XSD based validation of
XML content in production systems. 

This is just the nature of the beast that XML has become - because of
the ad hoc way "v1.0" of XML is still labelled as v1.0 - but in reality
we are on version 5 or 6 something and counting, with all the nuances
this entails. 

To overcome this - you should most definately be supplementing your
basic schema checks with specific content checks of the kind that CAM
enables AND contextual cross-field checks - again possible with actual
business rules.   

Conversely then we should note that where the on-the-wire-format in XML
may be simplified to permit easy processing - while at the same time -
via a simple transform mechanism like CAM - will provide 100%
compatiblity with the original UBL schemas - when that check is
introduced into the process as a conformance check. 

The statements from the email I referenced above I feel need some
clarifications - see my notes below: 

<snip> 
This simple fact enables software developers 
>to proceed with some comfort that not only will their software have 
>clear specifications but that correctness of their solutions can be verified. 

[[[ Since an XSD schema merely informs of all possible permutation that
may be received - the only really strong claim here maybe that the
structure and layout of the content is conformant to the UBL schemas.
Much is made optional that in context is in reality required, or should
occur in a specific pattern or permutation. I would not want to claim
therefore that anything was "correct" in any business sense - other
than just purely structural. 
]]] 

>
>I take compatibility to mean consistent or in keeping with the 
>principles of something. It has a softer emphasis and suggests 
>common agreement on basic principles. I mean it to suggest a shared 
>heritage but without necessarily guaranteeing conformance.
> 

[[[ Obviously compatibility has to have some measure with it - such as
100% compatible.  Or backward compatiblity is assured.  Conformance is
usually associated with a specific version - and test mechanism - in
this UBL case XSD.  Conformance is tied to some goal - such as XSD
provides structural layout conformance.  You really need BOTH of these
things in some measure...]]] 

>It is reasonable to expect and encourage implementations that cannot 
>or do not require conformance to develop compatible customizations 
>where feasible. 

[[[ This is indeed so.  But what of where conformance can be achieved by
simply applying a transformation that produces a layout and structure
that is UBL conformant? ]]] 

>
>So all documents conforming to the UBL standard will be UBL 
>compatible but not necessarily all UBL compatible documents conform 
>to the UBL standard. 

[[[ I think I understand what this means - but I would not want to
explain it too much! 
     Most people - so long as their transactions are delivered and
processed - will  
     probably not lose too much sleep on any score! As I asserted
earlier - I'd wager that 
     UBL transactions that conform - may not actually process - so I'd
hate to be setting 
     too high expectations. ]]]
</snip> 

So - I think it reasonable to hold out conformance to the XSD as being a
useful means to establish membership in the UBL family - but for
operational systems between partners - they will need to supplement
those checks.  By exposing these rules as standardized CAM templates -
we make it easier for partners to understand these additional
processing needs and details. 

Thanks, DW

"The way to be is to do" - Confucius (551-472 B.C.)




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]