← Prev in month ← Prev in thread

Prototype -ver-sdg-4 (polymorphism / ATG2 CCTS schema alignment)

From
Stephen Green <>
Date
2005-05-03T12:44:43+00:00
ID
002801c54fdd$d5b060c0$a504190a@britsdg
Thread
Prototype -ver-sdg-4 (polymorphism / ATG2 CCTS schema alignment)
Please find attached a further prototype along with 
some observations relating to ATG2 1.1 schema alignment

 

(as usual I have renamed the extension to .zzz so 
please rename back to .zip on saving)

 

This Prototype (-ver-sdg-4) demonstrates both the 
use of the limited substitutionGroup design proposal for polymorphism (VER8 and 
VER9)
and the imported use of ATG2 CCTS schemas.

 

The following points are noted:

 

1. UBL's Measure/measureUnitCode becomes 
Measure/unitCode.
2. UBL's Quantity/quantityUnitCode becomes 
Quantity/unitCode.
3. UBL's Amount/amountCurrencyID becomes 
Amount/currencyID. 
   With the ATG2 unqualified datatype amount 
being bound to a currency codelist there can no longer be a 
UBLAmount
   as the ATG2 Amount takes it place and does not allow 
further specialization of this kind.
4. Certain changes from complexContent 
to simpleContent have to be made in certain UBL schemas due to the ATG2 design 
of the CCTS schemas..
5. There will need to be a revision (not included here) 
to the naming of newly global types such as for CurrencyCodeType and other code 
types.
    (Whereas in these prototype schemas the simple use 
of CodeType and IdentifierType has been adopted, it has been 
commented
     that these names probably do not correctly 
follow nor appear consistent with the UBL NDR.)
6. These schemas only 
demonstrate integrity for 'xsdrt' schemas, that is, without the 
documentation/annotations (except in the ATG2 schemas).
7. There will likely 
need to be consideration of the fact the ATG2 CCTS schemas have their own 
codelist schemas associated with them and 
     
examination of how these should relate to UBL codelist schemas. For this 
demonstration all the ATG2 schemas have been 
imported
     into the UBL schemas with the ATG2 schemas 
completely unchanged.
8. Regarding the Amount and the Measure and Quantity 
datatypes in the ATG2 schemas, a real concern is 
that
     there seems to me to be reliance on use of a 
namespace rule to provide some of the essential (to 
business
     and legal parties) metadata such as the 
associated codelist and codelist version IDs. My concern is 
that
     these namespaces will not make it into 
instances and so may be lost for future examiners of the 
documents.
     I'd very strongly suggest remedying this 
with UBL specialized datatypes (as for UBAmount in UBL 1.0) 
but
     I'm not sure whether/how this may be achieved 
without the appropriate attributes existing in the ATG2 
'unqualified
     datatypes'. I've not attempted to 
resolve this issue in these prototypes. Rather I have used the ATG2 
Amount
     in place of the UBL 1.0 UBLAmount but I'd not 
recommend this in practise. Perhaps, in the worse case 
scenario,
     the UBL 1.0 Specialized Datatypes schema 
and dependancy schemas should be continued into UBL 2.0. This 
might
     be undesirable since the UBLAmount forces use 
of the 0.3 version of the currency codelist which might need 
updating
     for UBl 2.0. An alternative would then be 
to keep the UBL 1.0 unspecialized datatypes schema in UBL 2.0 
(imported
     from UBL 1.0 along with imports of the 
ATG2 1.1 schemas) and to base new UBL 2.0 specialized datatypes on 
that.

 

Test Instances:
To test the schema design for 
backwards compatibility preservation, instances with every element and attribute 
were
generated (with XML Spy) and validated against the 2.0 prototype schemas 
and then validated again after just the
schemaLocation attribute values were 
changed to values of the 2.1 and 2.2 prototype schemas. This was 
successful.

 

(Tests to demonstrate correct workings of 
polymorphism had already been successful in the previous prototype 
'-ver-sdg-2'.)

 

Best Regards

 

Stephen Green

 

xsd-derivation-prototype-ver-sdg-4.zzz
← Prev in month ← Prev in thread