DataTopic Measurements: Difference between revisions

From imde.io

No edit summary
 
(35 intermediate revisions by 3 users not shown)
Line 1: Line 1:
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.
==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]]


==DataTopic: Measurements, Format Azlon, Version 1.0==
==Version 1 (Current version)==
[[DataContainer_-_Item|Part of DataContainer: Item]]


<nowiki>
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.
<Material xmlns="https://imde.io/schema/material">
<Header UMID="e2749359-c3cf-4504-9084-9239a1848aed" GTIN="1234567102979"/>
<DataTopics>
  <DataTopic Topic="Measurements" Format="Azlon" Version="1.0">
<Measurements xmlns="https://imde.io/schema/azlon/1.0/measurements">
          <TradeItemDimensions>
      <Depth UnitOfMeasure="MMT">105.8</Depth>
      <Height UnitOfMeasure="MMT">108.7</Height>
      <Width UnitOfMeasure="MMT">105.8</Width>
      </TradeItemDimensions>
      <Weights>
    <GrossWeight UnitOfMeasure="GRM">665.3</GrossWeight>
    <NettoWeight UnitOfMeasure="GRM">650</NettoWeight>
    <DrainedWeight UnitOfMeasure="GRM">645</DrainedWeight>
      </Weights>
      <NettoContents>
      <NettoContent UnitOfMeasure="PCE">6</NettoContent>
      <NettoContent UnitOfMeasure="MLT">1550</NettoContent>
      </NettoContents>
    </Measurements>
    </DataTopic>
</DataTopics>
</Material>
</nowiki>


<nowiki>
BaseUnitOfMeasure is added in version 1.1.
<Material xmlns="https://imde.io/schema/material">
<Header UMID="e2749359-c3cf-4504-9084-9239a1848aed" GTIN="1234567102979"/>
<DataTopics>
<DataTopic Topic="FoodAllergens" Format="Azlon" Version="1.0">
<FoodAllergens xmlns="https://imde.io/schema/azlon/1.0/foodallergens">
<Regulation>EU-1169/2011</Regulation>
<Allergens>
<Allergen Code="AM" Type="CONTAINS" OnLabel="true"/>
<Allergen Code="AM" Type="MAY_CONTAIN" OnLabel="true"/>
<Allergen Code="UM" Type="FREE_FROM" OnLabel="true"/>
</Allergens>
</FoodAllergens>
</DataTopic>
</DataTopics>
</Material>
</nowiki>


<pre>
<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>
</pre>


===Downloads===
* [https://imde.io/schema/Sample%20XML%20message%20DataTopic%20Measurements.xml Sample XML] version 1.1
* [https://imde.io/schema/azlon/1.1/measurements.xsd XSD] version 1.1
* [https://imde.io/schema/codelists/IMDE_UnitofMeasureCode.xml Codelist IMDE_UnitofMeasureCode]
* [https://imde.io/schema/azlon/1.0/codelists/unitType.xsd Codelist unitType]


[[Category:data topic]]
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

Old versions:

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)

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.

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

Old versions:

  • XSD version 1.0