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: Re: [ubl-dev] UBL 1.0-cd2 Inconsistency List


This looks like very useful information for UBL. Thanks Chee-Kai. Anything you can add later to increase the exhaustiveness would be much appreciated.

Steve

>>> Chin Chee-Kai <cheekai@softml.net> 20/09/04 03:34:13 >>>
I've done some comparisons between schemas from UBL 1.0-cd2
and those generated by UBLish v1.0.10 using UBL 1.0-cd2's
model spreadsheets.  I'm happier this time with UBL 1.0-cd2
than the previous UBL 1.0-cd (published in 2004 May).  This
must have been due to the hard work from persevering members 
in the TC to "get it right".

However, the outcome still reflects a list of issues and
inconsistencies between UBL 1.0-cd2's spreadsheet models and
schemas.  I would like to share with list members here.

If you are planning to use, instantiate, develop applications,
validators, processors, etc that take input directly from 
UBL 1.0-cd2 schemas, you might wish to take note of the list
of points here.

Some of the problems presented in the following report are
of the nature of inconsistent naming of elements or types.
Some are about different annotation values found within
<xsd:annotation>.  These are probably benign, but may
annoy developers who use metadata found in <xsd:annotation>.
Other more touchy issues involved missing attribute 
("missing" assuming the attribute models defined by spreadsheet
are correct), extra types, extra elements, etc, the most drastic
of which would probably be the NumericType found in
UnspecializedDatatypes.

This list may not be totally exhaustive, but I'll just send 
these first.


Best Regards,
Chin Chee-Kai
SoftML
Tel: +65-6820-2979
Fax: +65-6743-7875
Email: cheekai@SoftML.Net 
http://SoftML.Net/ 


*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
==================================================================
In CommonAggregateComponents (CAC), under the "xsd:annotation -->
xsd:documentation --> ccts:Component --> ccts:DataType"  for
"AllowanceChargeType"'s "cbc:Amount" element, the proper value
should be "UBL_ Amount. Type" instead of "Amount. Type".

Generally, all occurrences of "UBL_ Amount. Type" as indicated
in the model spreadsheets have been incorrectly changed to
"Amount. Type" in schemas.

The complete list of such occurrence is as follows:

AllowanceChargeType --> cbc:Amount
BasePriceType --> cbc:PriceAmount
BasePriceType --> cbc:MaximumAmount
BasePriceType --> cbc:MinimumAmount
InvoiceLineType --> cbc:LineExtensionAmount
LegalTotalType --> cbc:LineExtensionTotalAmount
LegalTotalType --> cbc:TaxExclusiveTotalAmount
LegalTotalType --> cbc:TaxInclusiveTotalAmount
LineItemType --> cbc:LineExtensionAmount
LineItemType --> cbc:TaxTotalAmount
PaymentType --> cbc:PaidAmount
TaxTotalType --> cbc:TotalTaxAmount
TaxSubTotalType --> cbc:TaxableAmount
TaxSubTotalType --> cbc:TaxAmount

==================================================================
In CAC, in a reference to "cbc:SourceCurrencyBaseRate" inside
"ExchangeRateType", the <ccts:DataType> ought to be "Rate. Type"
according to the model spreadsheet.  But the published schema
displays "Rate_Numeric. Type".

This appears to be a general problem across the schema, where proper
values of "Rate. Type" have been quietly changed to
"Rate_Numeric. Type".

==================================================================
In the <ccts:Component> within <xsd:annotation> of all the
schema <xsd:element> or <xsd:complexType>, the component
<ccts:Version> is generally missing, making it impossible to
distinguish different versions of the same element or type
through the meta-data contained within <xsd:annotation>.

==================================================================
In CommonBasicComponents schema, UBL-1.0cd2 has a missing schema
version attribute.  It should be defined and with a value of "1.0".

==================================================================
In CommonBasicComponents schema, UBL-1.0cd2 has extraneous
definitions of elements and their corresponding types.  They are
"extraneous" in the sense that they are not being used or referenced
within CAC.  The list includes:

<xsd:element name="CurrencyBaseRate" type="CurrencyBaseRateType" />
<xsd:element name="DateTime" type="DateTimeType" />
<xsd:element name="DeliveryDateTime" type="DeliveryDateTimeType" />
<xsd:element name="DiscountPercent" type="DiscountPercentType" />
<xsd:element name="ExtensionAmount" type="ExtensionAmountType" />
<xsd:element name="ExtensionTotalAmount" type="ExtensionTotalAmountType" />
<xsd:element name="Indicator" type="IndicatorType" />
<xsd:element name="Instructions" type="InstructionsType" />
<xsd:element name="Location" type="LocationType" />
<xsd:element name="Mail" type="MailType" />
<xsd:element name="MaterialIndicator" type="MaterialIndicatorType" />
<xsd:element name="PaymentDate" type="PaymentDateType" />
<xsd:element name="Reason" type="ReasonType" />
<xsd:element name="SurchargePercent" type="SurchargePercentType" />
<xsd:element name="Terms" type="TermsType" />
<xsd:element name="TotalAmount" type="TotalAmountType" />
<xsd:element name="UnitBaseRate" type="UnitBaseRateType" />
<xsd:element name="VolumeMeasure" type="VolumeMeasureType" />
<xsd:element name="WeightMeasure" type="WeightMeasureType" />
<xsd:element name="Zone" type="ZoneType" />

==================================================================
In CommonBasicComponents schema, UBL-1.0cd2 has defined some
element names with types that are not consistent with the
the property term naming suggestion indicated in the spreadsheet
models.  These include:

[UBL-1.0cd2 CBC Schema]:
	<xsd:element name="ChargeIndicator" type="ChargeIndicatorType" />
[UBL-1.0cd2 Reusable spreadsheet]: "Charge"
[Expected definition if model is right]:
	<xsd:element name="ChargeIndicator" type="ChargeType" />

[UBL-1.0cd2 CBC Schema]:
  <xsd:element name="CopyIndicator" type="CopyIndicatorType" />
[UBL-1.0cd2 Reusable spreadsheet]: "Copy"
[Expected definition if model is right]:
  <xsd:element name="CopyIndicator" type="CopyType" />

[UBL-1.0cd2 CBC Schema]:
  <xsd:element name="ExpiryDate" type="ExpiryDateType" />
[UBL-1.0cd2 Reusable spreadsheet]: "Expiry"
[Expected definition if model is right]:
  <xsd:element name="ExpiryDate" type="ExpiryType" />

[UBL-1.0cd2 CBC Schema]:
	<xsd:element name="GrossVolumeMeasure" type="VolumeMeasureType" />
[UBL-1.0cd2 Reusable spreadsheet]: "Volume"
[Expected definition if model is right]:
	<xsd:element name="GrossVolumeMeasure" type="VolumeType" />

[UBL-1.0cd2 CBC Schema]:
	<xsd:element name="GrossWeightMeasure" type="WeightMeasureType" />
[UBL-1.0cd2 Reusable spreadsheet]: "Weight"
[Expected definition if model is right]:
  <xsd:element name="GrossWeightMeasure" type="WeightType" />

[UBL-1.0cd2 CBC Schema]:
  <xsd:element name="HolderName" type="HolderNameType" />
[UBL-1.0cd2 Reusable spreadsheet]: "Holder"
[Expected definition if model is right]:
  <xsd:element name="HolderName" type="HolderType" />

[UBL-1.0cd2 CBC Schema]:
  <xsd:element name="LatitudeDegreesMeasure" type="LatitudeDegreesMeasureType" />
[UBL-1.0cd2 Reusable spreadsheet]: "LatitudeDegrees"
[Expected definition if model is right]:
  <xsd:element name="LatitudeDegreesMeasure" type="LatitudeDegreesType" />

[UBL-1.0cd2 CBC Schema]:
  <xsd:element name="LatitudeMinutesMeasure" type="LatitudeMinutesMeasureType" />
[UBL-1.0cd2 Reusable spreadsheet]: "LatitudeMinutes"
[Expected definition if model is right]:
  <xsd:element name="LatitudeMinutesMeasure" type="LatitudeMinutesType" />

[UBL-1.0cd2 CBC Schema]:
  <xsd:element name="LineExtensionTotalAmount" type="ExtensionTotalAmountType" />
[UBL-1.0cd2 Reusable spreadsheet]: "ExtensionTotal"
[Expected definition if model is right]:
  <xsd:element name="LineExtensionTotalAmount" type="ExtensionTotalType" />

[UBL-1.0cd2 CBC Schema]:
  <xsd:element name="MarkAttentionIndicator" type="MarkAttentionIndicatorType" />
[UBL-1.0cd2 Reusable spreadsheet]: "MarkAttention"
[Expected definition if model is right]:
  <xsd:element name="MarkAttentionIndicator" type="MarkAttentionType" />

[UBL-1.0cd2 CBC Schema]:
  <xsd:element name="MarkCareIndicator" type="MarkCareIndicatorType" />
[UBL-1.0cd2 Reusable spreadsheet]: "MarkCare"
[Expected definition if model is right]:
  <xsd:element name="MarkCareIndicator" type="MarkCareType" />

[UBL-1.0cd2 CBC Schema]:
  <xsd:element name="MaximumBackorderQuantity" type="BackorderQuantityType" />
[UBL-1.0cd2 Reusable spreadsheet]: ""Backorder"
[Expected definition if model is right]:
  <xsd:element name="MaximumBackorderQuantity" type="BackorderType" />

[UBL-1.0cd2 CBC Schema]:
  <xsd:element name="MinimumBackorderQuantity" type="BackorderQuantityType" />
[UBL-1.0cd2 Reusable spreadsheet]: "Backorder"
[Expected definition if model is right]:
  <xsd:element name="MinimumBackorderQuantity" type="BackorderType" />

[UBL-1.0cd2 CBC Schema]:
  <xsd:element name="MultiplierFactorNumeric" type="MultiplierFactorNumericType" />
[UBL-1.0cd2 Reusable spreadsheet]: "MultiplierFactor"
[Expected definition if model is right]:
  <xsd:element name="MultiplierFactorNumeric" type="MultiplierFactorType" />

[UBL-1.0cd2 CBC Schema]:
	<xsd:element name="NetNetWeightMeasure" type="WeightMeasureType" />
[UBL-1.0cd2 Reusable spreadsheet]: "Weight"
[Expected definition if model is right]:
	<xsd:element name="NetNetWeightMeasure" type="WeightType" />

[UBL-1.0cd2 CBC Schema]:
  <xsd:element name="NetVolumeMeasure" type="VolumeMeasureType" />
[UBL-1.0cd2 Reusable spreadsheet]: "Volume"
[Expected definition if model is right]:
  <xsd:element name="NetVolumeMeasure" type="VolumeType" />

[UBL-1.0cd2 CBC Schema]:
  <xsd:element name="NetWeightMeasure" type="WeightMeasureType" />
[UBL-1.0cd2 Reusable spreadsheet]: "Weight"
[Expected definition if model is right]:
  <xsd:element name="NetWeightMeasure" type="WeightType" />

[UBL-1.0cd2 CBC Schema]:
  <xsd:element name="PackSizeNumeric" type="PackSizeNumericType" />
[UBL-1.0cd2 Reusable spreadsheet]: "PackSize"
[Expected definition if model is right]:
  <xsd:element name="PackSizeNumeric" type="PackSizeType" />

[UBL-1.0cd2 CBC Schema]:
  <xsd:element name="PenaltySurchargePercent" type="SurchargePercentType" />
[UBL-1.0cd2 Reusable spreadsheet]: "Surcharge"
[Expected definition if model is right]:
  <xsd:element name="PenaltySurchargePercent" type="SurchargeType" />

[UBL-1.0cd2 CBC Schema]:
  <xsd:element name="ReturnableMaterialIndicator" type="MaterialIndicatorType" />
[UBL-1.0cd2 Reusable spreadsheet]: "Material"
[Expected definition if model is right]:
  <xsd:element name="ReturnableMaterialIndicator" type="MaterialType" />
gree
[UBL-1.0cd2 CBC Schema]:
  <xsd:element name="SequenceNumeric" type="SequenceNumericType" />
[UBL-1.0cd2 Reusable spreadsheet]: "Sequence"
[Expected definition if model is right]:
  <xsd:element name="SequenceNumeric" type="SequenceType" />

[UBL-1.0cd2 CBC Schema]:
  <xsd:element name="SettlementDiscountPercent" type="DiscountPercentType" />
[UBL-1.0cd2 Reusable spreadsheet]: "Discount"
[Expected definition if model is right]:
  <xsd:element name="SettlementDiscountPercent" type="DiscountType" />

[UBL-1.0cd2 CBC Schema]:
	<xsd:element name="SourceCurrencyBaseRate" type="CurrencyBaseRateType" />
[UBL-1.0cd2 Reusable spreadsheet]: "CurrencyBase"
[Expected definition if model is right]:
	<xsd:element name="SourceCurrencyBaseRate" type="CurrencyBaseType" />

[UBL-1.0cd2 CBC Schema]:
	<xsd:element name="TargetUnitBaseRate" type="UnitBaseRateType" />
[UBL-1.0cd2 Reusable spreadsheet]: "UnitBase"
[Expected definition if model is right]:
	<xsd:element name="TargetUnitBaseRate" type="UnitBaseType" />

[UBL-1.0cd2 CBC Schema]:
	<xsd:element name="TaxExclusiveTotalAmount" type="TotalAmountType" />
[UBL-1.0cd2 Reusable spreadsheet]: "Total"
[Expected definition if model is right]:
	<xsd:element name="TaxExclusiveTotalAmount" type="TotalType" />

[UBL-1.0cd2 CBC Schema]:
	<xsd:element name="TaxInclusiveTotalAmount" type="TotalAmountType" />
[UBL-1.0cd2 Reusable spreadsheet]: "Total"
[Expected definition if model is right]:
	<xsd:element name="TaxInclusiveTotalAmount" type="TotalType" />

[UBL-1.0cd2 CBC Schema]:
	<xsd:element name="TaxTotalAmount" type="TaxTotalAmountType" />
[UBL-1.0cd2 Reusable spreadsheet]: "TaxTotal"
[Expected definition if model is right]:
	<xsd:element name="TaxTotalAmount" type="TaxTotalType" />

==================================================================

In CoreComponentTypes, for "BinaryObjectType", UBL-1.0cd2 schema
defines the attribute URI as "URI".  Although this "reads" correct,
it seems to conflict with the requirement that attribute names
must use lowerCamelCase, which suggests a somewhat "correct"
name to be "uRI" instead.  Or could the attribute name be
prepended with a description, such as "srcURI", to satisfy both
requirements?

In "CodeType", for example, the URI attributes are all
prepended with a qualifier description such as "codeListURI"
and "codeListSchemeURI".

==================================================================
In the UnspecializedDatatypes spreadsheet, the UDT data type
"Date" has the value "Date Time. Type" inside the "Data Type"
column (Column K).  This causes problem in proper identification
of UDT "Date" as a independent UDT type, rather than sharing the
same "Date Time. Type" as the actual UDT "DateTime" type.
In other words, both UDT "DateTime" type and UDT "Date" type
are marked as "Date Time. Type" as far as the "Data Type" column
(Column K) is concerned.

The proper value in "Data Type" column (Column K) should be
set to "Date. Type".

There are other consequential problems associated with this
meta data being incorrectly marked as "Date Time. Type".
This occurs, for example, in all the references to "cbc:Date"
within the CAC schema.  Here, the <ccts:DataType> found in
the <xsd:annotation> should contain "Date. Type", but the
published UBL 1.0-cd2 schema contains "Date_Date Time. Type".

==================================================================
In UnspecializedDatatypes "NumericType", UBL-1.0cd2 missed the
definition of attribute "format".  We should expect to see:
  <xsd:attribute name="format" type="xsd:string" use="optional" />gree

Therefore, "NumericType" cannot be a <simpleType> since the
spreadsheet model requires an attribute "format" to be defined
for "NumericType".

==================================================================

In UnspecializedDatatypes "BinaryObjectType", UBL-1.0cd2 schema
missed the 2 definitions "format" and "mimeCode" found in the
corresponding spreadsheet models.  We should see:
  <xsd:attribute name="format" type="xsd:string" use="optional" />
  <xsd:attribute name="mimeCode" type="xsd:normalizedString" use="optional" />
  <xsd:attribute name="characterSetCode" type="xsd:normalizedString" use="optional" />

instead of only:
  <xsd:attribute name="characterSetCode" type="xsd:normalizedString" use="optional" />

==================================================================
In UnspecializedDatatypes "GraphicType", "PictureType",
"SoundType", "VideoType", UBL-1.0cd2 schemas missed entirely the
2 definitions "format" and "mimeCode" found in the corresponding
spreadsheet models.

We should see:
  <xsd:attribute name="format" type="xsd:string" use="optional" />
  <xsd:attribute name="mimeCode" type="xsd:normalizedString" use="optional" />

instead of the current:
  <xsd:attribute name="characterSetCode" type="xsd:normalizedString" use="optional" />
which seems to have a dubious origin as it isn't defined in the
spreadsheet.

==================================================================
In UnspecializedDatatypes "CodeType" and "IdentifierType", the
order of defintions for the attributes appears to be out of order.
This is a minor issue, though it might suggest some unnecessary
re-ordering of some sort.

==================================================================



In Order schema, UBL-1.0cd2 has an unused dangling element
definition of:
  <xsd:element name="PackagesQuantity" type="PackagesQuantityType" />

This is a benign bug, though it isn't clear what future problems
it may behold for having Order schema holding on to this
private element name.

==================================================================
In OrderChange schema, UBL-1.0cd2 has an unused dangling element
definition of:
	<xsd:element name="PackagesCountQuantity" type="PackagesCountQuantityType" />

==================================================================
In OrderChange schema, UBL-1.0cd2 defines for element
"TotalPackagesCountQuantity" has having type
"PackagesCountQuantityType" instead of
"TotalPackagesCountQuantityType".

This, consequently, causes a missing definition of:
	<xsd:complexType name="TotalPackagesCountQuantityType">
		<xsd:simpleContent>
			<xsd:extension base="udt:QuantityType" />
		</xsd:simpleContent>
	</xsd:complexType>

that is to be expected if the type for "TotalPackagesCountQuantity"
had been the correct "TotalPackagesCountQuantityType" instead.

As it is now, the schema also contains an extraneous definition of
	<xsd:element name="PackagesCountQuantity" type="PackagesCountQuantityType" />
and
	<xsd:complexType name="PackagesCountQuantityType">...</xsd:complexType>

since "PackagesCountQuantityType" ought not to have been defined
in the first place.

==================================================================
In OrderResponse schema, UBL-1.0cd2 defines for element
"TotalPackagesCountQuantity" has having type
"PackagesCountQuantityType" instead of
"TotalPackagesCountQuantityType".

This, consequently, causes a missing definition of:
	<xsd:complexType name="TotalPackagesCountQuantityType">
		<xsd:simpleContent>
ree			<xsd:extension base="udt:QuantityType" />
		</xsd:simpleContent>
	</xsd:complexType>

that is to be expected if the type for "TotalPackagesCountQuantity"
had been the correct "TotalPackagesCountQuantityType" instead.

As it is now, the schema also contains an extraneous definition of
	<xsd:element name="PackagesCountQuantity" type="PackagesCountQuantityType" />
and
	<xsd:complexType name="PackagesCountQuantityType">...</xsd:complexType>

since "PackagesCountQuantityType" ought not to have been defined
in the first place.

==================================================================

*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*





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