Message

A unit code attribute MUST have a unit code list identifier attribute “UNECERec20”

Context
//*[contains(name(),'Quantity')]
Test
not(attribute::unitCode) or (attribute::unitCode and attribute::unitCodeListID = 'UNECERec20')
Usage
/ ubl:Catalogue / cac:CatalogueLine / cbc:ContentUnitQuantity / @unitCodeListID
/ ubl:Catalogue / cac:CatalogueLine / cbc:MinimumOrderQuantity / @unitCodeListID
/ ubl:Catalogue / cac:CatalogueLine / cbc:MaximumOrderQuantity / @unitCodeListID
/ ubl:Catalogue / cac:CatalogueLine / cac:ItemComparison / cbc:Quantity / @unitCodeListID
/ ubl:Catalogue / cac:CatalogueLine / cac:ComponentRelatedItem / cbc:Quantity / @unitCodeListID
/ ubl:Catalogue / cac:CatalogueLine / cac:AccessoryRelatedItem / cbc:Quantity / @unitCodeListID
/ ubl:Catalogue / cac:CatalogueLine / cac:ReplacedRelatedItem / cbc:Quantity / @unitCodeListID
/ ubl:Catalogue / cac:CatalogueLine / cac:RequiredItemLocationQuantity / cbc:MinimumQuantity / @unitCodeListID
/ ubl:Catalogue / cac:CatalogueLine / cac:RequiredItemLocationQuantity / cbc:MaximumQuantity / @unitCodeListID
/ ubl:Catalogue / cac:CatalogueLine / cac:RequiredItemLocationQuantity / cac:Price / cbc:BaseQuantity / @unitCodeListID
/ ubl:Catalogue / cac:CatalogueLine / cac:Item / cbc:PackQuantity / @unitCodeListID
/ ubl:Catalogue / cac:CatalogueLine / cac:Item / cac:AdditionalItemProperty / cbc:ValueQuantity / @unitCodeListID