DataTopic Measurements: Difference between revisions
No edit summary |
|||
| (9 intermediate revisions by one other user not shown) | |||
| Line 1: | Line 1: | ||
==Version 2 (Proposed)== | |||
[[DataContainer - Item|Part of DataContainer: Item]] and, from version 2.0, reusable across other containers (see [[DataContainers and DataTopics - DS]]). | |||
'''Measurements''' covers Trade Item measurements (the smallest rectangular box fitting around the item, plus gross weight), Product measurements (net weight, content, drained weight and product states such as out of pack or in use), and Packaging measurements (shape aware dimensions, packaging weight, nominal capacity and material thickness). The information model is described on [[Measurements - IM]]. | |||
From version 2.0 the topic is included per container and selected by a '''Profile''', so the same schema is reused on a Sales Unit, a Packaging Assembly Unit, an Element, a Material or a Composite Material. See the [[#Changes from version 1.1|migration notes]] below before upgrading. | |||
== Structure == | |||
The topic is a set of optional '''blocks'''. A Profile states which blocks apply for a given container. | |||
{| class="wikitable" | |||
! Block !! Contents | |||
|- | |||
| BaseUnitOfMeasure || Base unit for the block (IMDE Unit of Measure code list) | |||
|- | |||
| Outershape || Packaging shape that drives the dimension fields (Box, Cylinder, Sheet / Film / Band, Cord, Sphere) | |||
|- | |||
| Dimensions || Length, Width, Height, Depth, Diameter | |||
|- | |||
| Weights || GrossWeight, NetWeight, TareWeight, DrainedWeight, PackagingWeight | |||
|- | |||
| NettoContents || One or more NettoContent values | |||
|- | |||
| Capacity || NominalCapacity (Rigid Containers family only) | |||
|- | |||
| Thickness || Nominal, Minimum, Maximum (material and composite layer) | |||
|- | |||
| AlternativeMeasurements || Product states, each tagged with a Product Measurement Type | |||
|} | |||
== Profiles == | |||
{| class="wikitable" | |||
! Profile !! Container Type !! Blocks | |||
|- | |||
| TradeItem || Item (Sales, Grouped, Transport Unit) || Dimensions, Weights (gross) | |||
|- | |||
| Product || Item (Product) || Weights (net, drained), NettoContents, AlternativeMeasurements | |||
|- | |||
| Packaging || Packaging Assembly Unit, Packaging Element || Outershape, Dimensions, Weights (packaging), Capacity | |||
|- | |||
| MaterialThickness || Packaging Material, Composite Material || Thickness | |||
|} | |||
The XSD validates structure; the Schematron profile rules enforce which blocks each Profile requires or forbids. | |||
== Sample XML == | |||
A single Packaging Assembly Unit (a bottle from a supplier), reusing the topic at object level (Packaging) and material level (MaterialThickness). | |||
<syntaxhighlight lang="xml"> | |||
<PackagingAssemblyUnit Type="PackagingAssemblyUnit" GTIN="08712345555014" | |||
PackagingTypeFamily="RIGID_CONTAINER" | |||
xmlns="https://imde.io/schema/azlon/2.0/item" | |||
xmlns:m="https://imde.io/schema/azlon/2.0/measurements"> | |||
<m:Measurements Profile="Packaging"> | |||
<m:BaseUnitOfMeasure Type="IMDE">MMT</m:BaseUnitOfMeasure> | |||
<m:Outershape>Cylinder</m:Outershape> | |||
<m:Dimensions> | |||
<m:Diameter Value="65"><m:Units><m:Unit Type="DataReceiver">Mm</m:Unit></m:Units></m:Diameter> | |||
<m:Height Value="223"><m:Units><m:Unit Type="DataReceiver">Mm</m:Unit></m:Units></m:Height> | |||
</m:Dimensions> | |||
<m:Weights> | |||
<m:PackagingWeight Value="22"><m:Units><m:Unit Type="DataReceiver">Gr</m:Unit></m:Units></m:PackagingWeight> | |||
</m:Weights> | |||
<m:Capacity> | |||
<m:NominalCapacity Value="500"><m:Units><m:Unit Type="DataReceiver">Ml</m:Unit></m:Units></m:NominalCapacity> | |||
</m:Capacity> | |||
</m:Measurements> | |||
<PackagingElement> | |||
<PackagingMaterial MaterialType="rPET"> | |||
<m:Measurements Profile="MaterialThickness"> | |||
<m:Thickness> | |||
<m:Nominal Value="0.30"><m:Units><m:Unit Type="DataReceiver">Mm</m:Unit></m:Units></m:Nominal> | |||
</m:Thickness> | |||
</m:Measurements> | |||
</PackagingMaterial> | |||
</PackagingElement> | |||
</PackagingAssemblyUnit> | |||
</syntaxhighlight> | |||
A second sample (a television in a box) shows the topic reused across nested containers: Sales Unit, Product, and three Packaging Assembly Units down to composite material layers. | |||
== Downloads == | |||
* Measurements topic XSD, version 2.0: https://imde.io/schema/azlon/2.0/measurements.xsd | |||
* Container XSD, version 2.0: https://imde.io/schema/azlon/2.0/item.xsd | |||
* Profile rules (Schematron): https://imde.io/schema/azlon/2.0/measurements-profiles.sch | |||
* Sample XML, bottle Packaging Assembly Unit, version 2.0 | |||
* Sample XML, television in a box, version 2.0 | |||
* Code lists: IMDE_UnitofMeasureCode, ProductMeasurementType, ShapeType, ContainerType, PackagingTypeFamily | |||
Old versions: | |||
* XSD version 1.1: https://imde.io/schema/azlon/1.1/measurements.xsd | |||
* XSD version 1.0: https://imde.io/schema/azlon/1.0/measurements.xsd | |||
== Changes from version 1.1 == | |||
Version 1.1 is live. Version 2.0 keeps all version 1.1 content valid but introduces a new namespace, so every consumer must update the schema reference. Please plan the change with your trading partners. | |||
=== Namespace and schema location === | |||
{| class="wikitable" | |||
! !! Version 1.1 !! Version 2.0 | |||
|- | |||
| Topic namespace || https://imde.io/schema/azlon/1.1/measurements || https://imde.io/schema/azlon/2.0/measurements | |||
|- | |||
| Container schema || (Measurements included in Item) || https://imde.io/schema/azlon/2.0/item | |||
|} | |||
=== What is new (additive, non breaking) === | |||
* The topic is reused across containers (Item, Packaging Assembly Unit, Packaging Element, Packaging Material, Composite Material), not only Item. | |||
* New '''Profile''' attribute on Measurements: TradeItem, Product, Packaging, MaterialThickness. Profile is optional; if it is absent, treat the block as a legacy flat Measurements (Trade Item plus Product). | |||
* New '''Outershape''' element for packaging. | |||
* New blocks: '''Capacity''' (NominalCapacity), '''Thickness''' (Nominal, Minimum, Maximum) and '''AlternativeMeasurements''' (each tagged with a Product Measurement Type). | |||
* New '''Weights''' members: NetWeight, TareWeight, PackagingWeight. GrossWeight and DrainedWeight are unchanged. | |||
* New '''Dimensions''' members: Length and Diameter. Height, Width and Depth are unchanged. | |||
=== Naming and deprecation === | |||
* Version 1.1 '''NettoWeight''' is retained as a deprecated alias of '''NetWeight'''. Senders should move to NetWeight; receivers should accept both during the transition. | |||
* NettoContents and NettoContent are unchanged. | |||
=== Element mapping === | |||
{| class="wikitable" | |||
! Version 1.1 !! Version 2.0 !! Note | |||
|- | |||
| NettoWeight || NetWeight || NettoWeight kept as a deprecated alias | |||
|- | |||
| Dimensions: Depth, Height, Width || same || unchanged | |||
|- | |||
| GrossWeight, DrainedWeight || same || unchanged | |||
|- | |||
| NettoContents, NettoContent || same || unchanged | |||
|- | |||
| (none) || Outershape, Capacity, Thickness, AlternativeMeasurements || new blocks | |||
|- | |||
| (none) || NetWeight, TareWeight, PackagingWeight, Length, Diameter || new members | |||
|- | |||
| Measurements under Item only || Measurements under any container, with Profile || new reuse model | |||
|} | |||
=== Action for the ecosystem === | |||
* Point messages and validators at the version 2.0 namespace and XSD. A version 1.1 message converts by changing the namespace and, where used, renaming NettoWeight to NetWeight. | |||
* Version 1.1 endpoints remain available during the transition period. New blocks and measurements at packaging, material or composite level require version 2.0. | |||
* Weight identity to be aware of: GrossWeight (Trade Item) = NetWeight (Product) + TareWeight, where TareWeight is the sum of PackagingWeight across the packaging. | |||
[[Category:Data Schema]] | |||
==Version 1 (Current version)== | |||
[[DataContainer_-_Item|Part of DataContainer: Item]] | [[DataContainer_-_Item|Part of DataContainer: Item]] | ||
Measurements covers both trade item measurements (defined as the smallest rectangular fitting around an item) and additional product measurements related to the product out of pack, installed or in use. | Measurements covers both trade item measurements (defined as the smallest rectangular fitting around an item) and additional product measurements related to the product out of pack, installed or in use. | ||
BaseUnitOfMeasure is added in version 1.1. | |||
<pre> | <pre> | ||
<Measurements xmlns="https://imde.io/schema/azlon/1. | <Measurements xmlns="https://imde.io/schema/azlon/1.1/measurements" xsi:schemaLocation="https://imde.io/schema/azlon/1.1/measurements https://imde.io/schema/azlon/1.1/measurements.xsd"> | ||
<!-- Codelists: IMDE_UnitofMeasureCode --> | |||
<BaseUnitOfMeasure Type="IMDE">MMT</BaseUnitOfMeasure> | |||
<Dimensions> | <Dimensions> | ||
<Depth | <Depth Value="105.8"> | ||
<Height | <Units> | ||
<Width | <Unit Type="DataReceiver">Mm</Unit> | ||
</Units> | |||
</Depth> | |||
<Depth Value="105.8"> | |||
<Units> | |||
<Unit Type="DataReceiver">Mm</Unit> | |||
</Units> | |||
</Depth> | |||
<Height Value="108.7"> | |||
<Units> | |||
<Unit Type="DataReceiver">Mm</Unit> | |||
</Units> | |||
</Height> | |||
<Width Value="105.8"> | |||
<Units> | |||
<Unit Type="DataReceiver">Mm</Unit> | |||
</Units> | |||
</Width> | |||
</Dimensions> | </Dimensions> | ||
<Weights> | <Weights> | ||
<GrossWeight | <GrossWeight Value="665.3"> | ||
<NettoWeight | <Units> | ||
<DrainedWeight | <Unit Type="DataReceiver">Gr</Unit> | ||
</Units> | |||
</GrossWeight> | |||
<NettoWeight Value="650"> | |||
<Units> | |||
<Unit Type="DataReceiver">Gr</Unit> | |||
</Units> | |||
</NettoWeight> | |||
<DrainedWeight Value="645"> | |||
<Units> | |||
<Unit Type="DataReceiver">Gr</Unit> | |||
</Units> | |||
</DrainedWeight> | |||
</Weights> | </Weights> | ||
<NettoContents> | <NettoContents> | ||
<NettoContent | <NettoContent Value="6"> | ||
<NettoContent | <Units> | ||
<Unit Type="DataReceiver">Pce</Unit> | |||
</Units> | |||
</NettoContent> | |||
<NettoContent Value="1550"> | |||
<Units> | |||
<Unit Type="DataReceiver">Ml</Unit> | |||
</Units> | |||
</NettoContent> | |||
</NettoContents> | </NettoContents> | ||
</Measurements> | </Measurements> | ||
| Line 23: | Line 219: | ||
===Downloads=== | ===Downloads=== | ||
* [https://imde.io/schema/Sample%20XML%20message%20DataTopic%20Measurements.xml Sample XML | * [https://imde.io/schema/Sample%20XML%20message%20DataTopic%20Measurements.xml Sample XML] version 1.1 | ||
* [https://imde.io/schema/azlon/1. | * [https://imde.io/schema/azlon/1.1/measurements.xsd XSD] version 1.1 | ||
* [https://imde.io/schema/azlon/1.0/codelists/ | * [https://imde.io/schema/codelists/IMDE_UnitofMeasureCode.xml Codelist IMDE_UnitofMeasureCode] | ||
* [https://imde.io/schema/azlon/1.0/ | * [https://imde.io/schema/azlon/1.0/codelists/unitType.xsd Codelist unitType] | ||
Old versions: | |||
* [https://imde.io/schema/azlon/1.0/measurements.xsd XSD] version 1.0 | |||
Latest revision as of 13:53, 21 June 2026
Version 2 (Proposed)
Part of DataContainer: Item and, from version 2.0, reusable across other containers (see DataContainers and DataTopics - DS).
Measurements covers Trade Item measurements (the smallest rectangular box fitting around the item, plus gross weight), Product measurements (net weight, content, drained weight and product states such as out of pack or in use), and Packaging measurements (shape aware dimensions, packaging weight, nominal capacity and material thickness). The information model is described on Measurements - IM.
From version 2.0 the topic is included per container and selected by a Profile, so the same schema is reused on a Sales Unit, a Packaging Assembly Unit, an Element, a Material or a Composite Material. See the migration notes below before upgrading.
Structure
The topic is a set of optional blocks. A Profile states which blocks apply for a given container.
| Block | Contents |
|---|---|
| BaseUnitOfMeasure | Base unit for the block (IMDE Unit of Measure code list) |
| Outershape | Packaging shape that drives the dimension fields (Box, Cylinder, Sheet / Film / Band, Cord, Sphere) |
| Dimensions | Length, Width, Height, Depth, Diameter |
| Weights | GrossWeight, NetWeight, TareWeight, DrainedWeight, PackagingWeight |
| NettoContents | One or more NettoContent values |
| Capacity | NominalCapacity (Rigid Containers family only) |
| Thickness | Nominal, Minimum, Maximum (material and composite layer) |
| AlternativeMeasurements | Product states, each tagged with a Product Measurement Type |
Profiles
| Profile | Container Type | Blocks |
|---|---|---|
| TradeItem | Item (Sales, Grouped, Transport Unit) | Dimensions, Weights (gross) |
| Product | Item (Product) | Weights (net, drained), NettoContents, AlternativeMeasurements |
| Packaging | Packaging Assembly Unit, Packaging Element | Outershape, Dimensions, Weights (packaging), Capacity |
| MaterialThickness | Packaging Material, Composite Material | Thickness |
The XSD validates structure; the Schematron profile rules enforce which blocks each Profile requires or forbids.
Sample XML
A single Packaging Assembly Unit (a bottle from a supplier), reusing the topic at object level (Packaging) and material level (MaterialThickness).
<PackagingAssemblyUnit Type="PackagingAssemblyUnit" GTIN="08712345555014"
PackagingTypeFamily="RIGID_CONTAINER"
xmlns="https://imde.io/schema/azlon/2.0/item"
xmlns:m="https://imde.io/schema/azlon/2.0/measurements">
<m:Measurements Profile="Packaging">
<m:BaseUnitOfMeasure Type="IMDE">MMT</m:BaseUnitOfMeasure>
<m:Outershape>Cylinder</m:Outershape>
<m:Dimensions>
<m:Diameter Value="65"><m:Units><m:Unit Type="DataReceiver">Mm</m:Unit></m:Units></m:Diameter>
<m:Height Value="223"><m:Units><m:Unit Type="DataReceiver">Mm</m:Unit></m:Units></m:Height>
</m:Dimensions>
<m:Weights>
<m:PackagingWeight Value="22"><m:Units><m:Unit Type="DataReceiver">Gr</m:Unit></m:Units></m:PackagingWeight>
</m:Weights>
<m:Capacity>
<m:NominalCapacity Value="500"><m:Units><m:Unit Type="DataReceiver">Ml</m:Unit></m:Units></m:NominalCapacity>
</m:Capacity>
</m:Measurements>
<PackagingElement>
<PackagingMaterial MaterialType="rPET">
<m:Measurements Profile="MaterialThickness">
<m:Thickness>
<m:Nominal Value="0.30"><m:Units><m:Unit Type="DataReceiver">Mm</m:Unit></m:Units></m:Nominal>
</m:Thickness>
</m:Measurements>
</PackagingMaterial>
</PackagingElement>
</PackagingAssemblyUnit>A second sample (a television in a box) shows the topic reused across nested containers: Sales Unit, Product, and three Packaging Assembly Units down to composite material layers.
Downloads
- Measurements topic XSD, version 2.0: https://imde.io/schema/azlon/2.0/measurements.xsd
- Container XSD, version 2.0: https://imde.io/schema/azlon/2.0/item.xsd
- Profile rules (Schematron): https://imde.io/schema/azlon/2.0/measurements-profiles.sch
- Sample XML, bottle Packaging Assembly Unit, version 2.0
- Sample XML, television in a box, version 2.0
- Code lists: IMDE_UnitofMeasureCode, ProductMeasurementType, ShapeType, ContainerType, PackagingTypeFamily
Old versions:
- XSD version 1.1: https://imde.io/schema/azlon/1.1/measurements.xsd
- XSD version 1.0: https://imde.io/schema/azlon/1.0/measurements.xsd
Changes from version 1.1
Version 1.1 is live. Version 2.0 keeps all version 1.1 content valid but introduces a new namespace, so every consumer must update the schema reference. Please plan the change with your trading partners.
Namespace and schema location
| Version 1.1 | Version 2.0 | |
|---|---|---|
| Topic namespace | https://imde.io/schema/azlon/1.1/measurements | https://imde.io/schema/azlon/2.0/measurements |
| Container schema | (Measurements included in Item) | https://imde.io/schema/azlon/2.0/item |
What is new (additive, non breaking)
- The topic is reused across containers (Item, Packaging Assembly Unit, Packaging Element, Packaging Material, Composite Material), not only Item.
- New Profile attribute on Measurements: TradeItem, Product, Packaging, MaterialThickness. Profile is optional; if it is absent, treat the block as a legacy flat Measurements (Trade Item plus Product).
- New Outershape element for packaging.
- New blocks: Capacity (NominalCapacity), Thickness (Nominal, Minimum, Maximum) and AlternativeMeasurements (each tagged with a Product Measurement Type).
- New Weights members: NetWeight, TareWeight, PackagingWeight. GrossWeight and DrainedWeight are unchanged.
- New Dimensions members: Length and Diameter. Height, Width and Depth are unchanged.
Naming and deprecation
- Version 1.1 NettoWeight is retained as a deprecated alias of NetWeight. Senders should move to NetWeight; receivers should accept both during the transition.
- NettoContents and NettoContent are unchanged.
Element mapping
| Version 1.1 | Version 2.0 | Note |
|---|---|---|
| NettoWeight | NetWeight | NettoWeight kept as a deprecated alias |
| Dimensions: Depth, Height, Width | same | unchanged |
| GrossWeight, DrainedWeight | same | unchanged |
| NettoContents, NettoContent | same | unchanged |
| (none) | Outershape, Capacity, Thickness, AlternativeMeasurements | new blocks |
| (none) | NetWeight, TareWeight, PackagingWeight, Length, Diameter | new members |
| Measurements under Item only | Measurements under any container, with Profile | new reuse model |
Action for the ecosystem
- Point messages and validators at the version 2.0 namespace and XSD. A version 1.1 message converts by changing the namespace and, where used, renaming NettoWeight to NetWeight.
- Version 1.1 endpoints remain available during the transition period. New blocks and measurements at packaging, material or composite level require version 2.0.
- Weight identity to be aware of: GrossWeight (Trade Item) = NetWeight (Product) + TareWeight, where TareWeight is the sum of PackagingWeight across the packaging.
Version 1 (Current version)
Measurements covers both trade item measurements (defined as the smallest rectangular fitting around an item) and additional product measurements related to the product out of pack, installed or in use.
BaseUnitOfMeasure is added in version 1.1.
<Measurements xmlns="https://imde.io/schema/azlon/1.1/measurements" xsi:schemaLocation="https://imde.io/schema/azlon/1.1/measurements https://imde.io/schema/azlon/1.1/measurements.xsd"> <!-- Codelists: IMDE_UnitofMeasureCode --> <BaseUnitOfMeasure Type="IMDE">MMT</BaseUnitOfMeasure> <Dimensions> <Depth Value="105.8"> <Units> <Unit Type="DataReceiver">Mm</Unit> </Units> </Depth> <Depth Value="105.8"> <Units> <Unit Type="DataReceiver">Mm</Unit> </Units> </Depth> <Height Value="108.7"> <Units> <Unit Type="DataReceiver">Mm</Unit> </Units> </Height> <Width Value="105.8"> <Units> <Unit Type="DataReceiver">Mm</Unit> </Units> </Width> </Dimensions> <Weights> <GrossWeight Value="665.3"> <Units> <Unit Type="DataReceiver">Gr</Unit> </Units> </GrossWeight> <NettoWeight Value="650"> <Units> <Unit Type="DataReceiver">Gr</Unit> </Units> </NettoWeight> <DrainedWeight Value="645"> <Units> <Unit Type="DataReceiver">Gr</Unit> </Units> </DrainedWeight> </Weights> <NettoContents> <NettoContent Value="6"> <Units> <Unit Type="DataReceiver">Pce</Unit> </Units> </NettoContent> <NettoContent Value="1550"> <Units> <Unit Type="DataReceiver">Ml</Unit> </Units> </NettoContent> </NettoContents> </Measurements>
Downloads
- Sample XML version 1.1
- XSD version 1.1
- Codelist IMDE_UnitofMeasureCode
- Codelist unitType
Old versions:
- XSD version 1.0