VRBL-DPA-MX-1p0-68

Basic Info

Rule The Dispatch Line Shipment Goods Item Gross Weight Measure Unit Code, the Dispatch Line Shipment Goods Item Net Weight Measure Unit Code and/or the %{cac:MeasurementDimension/cbc:Measure/@unitCode} with %{cac:MeasurementDimension/cbc:AttributeID} equal to 'T' must all match when provided.
Context /ubl:DespatchAdvice/cac:DespatchLine/cac:Shipment/cac:GoodsItem
Pattern vrbl-despatchadvice-mx-1p0
Severity fatal

Implementation

				count(
                    cbc:GrossWeightMeasure/@unitCode | 
                    cbc:NetWeightMeasure/@unitCode | 
                    cac:MeasurementDimension[cbc:AttributeID = 'T']/cbc:Measure/@unitCode
                ) < 2 
                or (
                    (not(cbc:GrossWeightMeasure/@unitCode and cbc:NetWeightMeasure/@unitCode) or cbc:GrossWeightMeasure/@unitCode = cbc:NetWeightMeasure/@unitCode)
                    and
                    (not(cbc:GrossWeightMeasure/@unitCode and cac:MeasurementDimension[cbc:AttributeID = 'T']/cbc:Measure/@unitCode) or cbc:GrossWeightMeasure/@unitCode = cac:MeasurementDimension[cbc:AttributeID = 'T']/cbc:Measure/@unitCode)
                    and
                    (not(cbc:NetWeightMeasure/@unitCode and cac:MeasurementDimension[cbc:AttributeID = 'T']/cbc:Measure/@unitCode) or cbc:NetWeightMeasure/@unitCode = cac:MeasurementDimension[cbc:AttributeID = 'T']/cbc:Measure/@unitCode)
                )