Rules for converting EPCIS to ttData.
The examples below are what you can expect the ttData2EPCIS.xsl stylesheeet to produce as output when transforming a ttData import file into a EPCIS import file. As observed by readers of the wiki, this will not always produce the most compact import file, it can look pretty verbose and hard to read. The reason for this is that we have a very flexible schema for defining import files in the ttData format, where timestamps can be defined at several levels, with inheritance. We wanted to create a sufficient enough translation from the old to the new import file format, and that's the reason for the verbosity. The generated EPCIS import files are not primarily made for human consumption.
Notes about EPCIS:
Order of the elements in EPCIS is defined, so if you create EPCIS manually, you have to follow the order!
eventTimeZoneOffset - If it's not found, defaults to +00:00.
A recordTimeelement will be added to every EPCIS event
Notes on the examples:
- EPCIS: ObjectEvent (ADD)
- Description: One ObjectEvent with action ADD is created for the Create
<Create> <Batch type="Hatchery_batch" itemRef="urn:gtnet:070100000001.hatch.*" id="urn:gtnet:070100000001.hatch.0001" timestamp="2001-01-01T12:00:00.0Z"> <Property prop-ref="ProjectNumber">hatch</Property> <Property prop-ref="CageNumber">1</Property> <Property prop-ref="Temperature" unit="celsius">8</Property> <Property prop-ref="HatchingDate">2001-01-01T12:00:00.0Z</Property> <Property prop-ref="Treatments">a</Property> <Property prop-ref="Mortality">5%</Property> </Batch></Create><ObjectEvent> <eventTime>2001-01-01T12:00:00.0Z</eventTime> <eventTimeZoneOffset>+00:00</eventTimeZoneOffset> <epcList> <epc>urn:gtnet:070100000001.hatch.0001</epc> </epcList> <action>ADD</action> <bizStep>urn:epcglobal:cbv:bizstep:commissioning</bizStep> <disposition>urn:epcglobal:cbv:disp:active</disposition> <gtnet:itemRef>urn:gtnet:070100000001.hatch.*</gtnet:itemRef> <ttdata:ProjectNumber>hatch</ttdata:ProjectNumber> <ttdata:CageNumber>1</ttdata:CageNumber> <ttdata:Temperature unit="celsius">8</ttdata:Temperature> <ttdata:HatchingDate>2001-01-01T12:00:00.0Z</ttdata:HatchingDate> <ttdata:Treatments>a</ttdata:Treatments> <ttdata:Mortality>5%</ttdata:Mortality> <gtnet:entityClass>Batch</gtnet:entityClass> <gtnet:trdType>Hatchery_batch</gtnet:trdType></ObjectEvent>- EPCIS: ObjectEvent (ADD and OBSERVE)
- Description: One ObjectEvent with action ADD is created for the Create. In addition, for each SentTo/ReceivedFrom a new ObjectEvent(OBSERVE) is created
<Create> <TradeUnit type="PackedGuttedFresh" itemRef="urn:gtnet:070100000001.gutfresh_1.*" id="urn:gtnet:070100000001.gutfresh_1.0001" timestamp="2004-07-03T08:00:00.0Z"> <SentTo organization="Retailer" orgType="org-mapping" timestamp="2004-07-03T08:00:00.0Z"/> <Property prop-ref="Species">Salmon</Property> <Property prop-ref="Treatments">Gutted</Property> <Property prop-ref="Quality">Superior</Property> <Property prop-ref="Size">4-5</Property> <Property prop-ref="Pcs">5</Property> <Property prop-ref="BoxNo">1001</Property> <Property prop-ref="PlNo">8000</Property> <Property prop-ref="NetWeight">21,40 kg</Property> <Property prop-ref="UseBy">2004-07-17</Property> <Property prop-ref="Farmer">Fish Producer</Property> <Property prop-ref="OrderNo">1001</Property> <Property prop-ref="Preservation">Fresh</Property> <Property prop-ref="StorageTemp">0/ +4C</Property> <Property prop-ref="EANNo">(01)070100000001(10)gutfresh_1(21)0001</Property> <Property prop-ref="Exporter">Retailer</Property> <Property prop-ref="WhereOnEarth">36° 0'4.21"N, 5°36'33.92"W</Property> </TradeUnit></Create><!--Create->TradeUnit => ObjectEvent(ADD)--> <ObjectEvent> <eventTime>2004-07-03T08:00:00.0Z</eventTime> <eventTimeZoneOffset>+00:00</eventTimeZoneOffset> <epcList> <epc>urn:gtnet:070100000001.gutfresh_1.0001</epc> </epcList> <action>ADD</action> <bizStep>urn:epcglobal:cbv:bizstep:commissioning</bizStep> <disposition>urn:epcglobal:cbv:disp:active</disposition> <gtnet:itemRef>urn:gtnet:070100000001.gutfresh_1.*</gtnet:itemRef> <ttdata:Species>Salmon</ttdata:Species> <ttdata:Treatments>Gutted</ttdata:Treatments> <ttdata:Quality>Superior</ttdata:Quality> <ttdata:Size>4-5</ttdata:Size> <ttdata:Pcs>5</ttdata:Pcs> <ttdata:BoxNo>1001</ttdata:BoxNo> <ttdata:PlNo>8000</ttdata:PlNo> <ttdata:NetWeight>21,40 kg</ttdata:NetWeight> <ttdata:UseBy>2004-07-17</ttdata:UseBy> <ttdata:Farmer>Fish Producer</ttdata:Farmer> <ttdata:OrderNo>1001</ttdata:OrderNo> <ttdata:Preservation>Fresh</ttdata:Preservation> <ttdata:StorageTemp>0/ +4C</ttdata:StorageTemp> <ttdata:EANNo>(01)070100000001(10)gutfresh_1(21)0001</ttdata:EANNo> <ttdata:Exporter>Retailer</ttdata:Exporter> <ttdata:WhereOnEarth>36° 0'4.21"N, 5°36'33.92"W</ttdata:WhereOnEarth> <gtnet:entityClass>TradeUnit</gtnet:entityClass> <gtnet:trdType>PackedGuttedFresh</gtnet:trdType> </ObjectEvent> <!--SentTo => ObjectEvent(OBSERVE)--> <ObjectEvent> <eventTime>2004-07-03T08:00:00.0Z</eventTime> <eventTimeZoneOffset>+00:00</eventTimeZoneOffset> <epcList> <epc>urn:gtnet:070100000001.gutfresh_1.0001</epc> </epcList> <action>OBSERVE</action> <bizStep>urn:epcglobal:cbv:bizstep:shipping</bizStep> <disposition>urn:epcglobal:cbv:disp:in_transit</disposition> <gtnet:party_id>Retailer</gtnet:party_id> <gtnet:party_id_type>org-mapping</gtnet:party_id_type> </ObjectEvent> - EPCIS: ObjectEvent (ADD and OBSERVE)
- Description:
<Create> <TradeUnit type="Product" id="urn:gtnet:070306400001.Prod_1.0002" itemRef="urn:gtnet:070306400001.Prod_1.*" timestamp="2001-01-02T13:00:00.0Z"> <ReceivedFrom organization="no.feed" orgType="org-name" timestamp="2001-02-02T13:00:00.0Z"/> <Property prop-ref="Supplier">Feed Company</Property> <Property prop-ref="DeliveryDate">2001-01-02T13:00:00.0Z</Property> <Property prop-ref="BatchNo">c</Property> <Property prop-ref="ProdDate">2001-01-01T12:00:00.0Z</Property> <Property prop-ref="ProductName">Feed smolt</Property> <Property prop-ref="ProductNo">1</Property> </TradeUnit></Create><!--Create->TradeUnit =>ObjectEvent(ADD)--> <ObjectEvent> <eventTime>2001-01-02T13:00:00.0Z</eventTime> <eventTimeZoneOffset>+00:00</eventTimeZoneOffset> <epcList> <epc>urn:gtnet:070306400001.Prod_1.0002</epc> </epcList> <action>ADD</action> <bizStep>urn:epcglobal:cbv:bizstep:commissioning</bizStep> <disposition>urn:epcglobal:cbv:disp:active</disposition> <gtnet:itemRef>urn:gtnet:070306400001.Prod_1.*</gtnet:itemRef> <ttdata:Supplier>Feed Company</ttdata:Supplier> <ttdata:DeliveryDate>2001-01-02T13:00:00.0Z</ttdata:DeliveryDate> <ttdata:BatchNo>c</ttdata:BatchNo> <ttdata:ProdDate>2001-01-01T12:00:00.0Z</ttdata:ProdDate> <ttdata:ProductName>Feed smolt</ttdata:ProductName> <ttdata:ProductNo>1</ttdata:ProductNo> <gtnet:entityClass>TradeUnit</gtnet:entityClass> <gtnet:trdType>Product</gtnet:trdType> </ObjectEvent> <!--ReceivedFrom =>ObjectEvent(OBSERVE)--> <ObjectEvent> <eventTime>2001-02-02T13:00:00.0Z</eventTime> <eventTimeZoneOffset>+00:00</eventTimeZoneOffset> <epcList> <epc>urn:gtnet:070306400001.Prod_1.0002</epc> </epcList> <action>OBSERVE</action> <bizStep>urn:epcglobal:cbv:bizstep:receiving</bizStep> <disposition>urn:epcglobal:cbv:disp:in_transit</disposition> <gtnet:party_id>no.feed</gtnet:party_id> <gtnet:party_id_type>org-name</gtnet:party_id_type> </ObjectEvent> - EPCIS: ObjectEvent (OBSERVE/DELETE)
- Description: Each Property element is transformed to a new ObjectEvent with action OBSERVE. Each Remove element is transformed to a new ObjectEvent with action DELETE.
<Message> <BatchMsg id="urn:gtnet:070306400001.prod_1.0001"> <Property prop-ref="ProductName" timestamp="2001-01-05T13:00:00.0Z" unit="powerpoint">NewSmolt</Property> <Property prop-ref="ProductName" timestamp="2002-02-02T13:00:00.0Z">EvenNewerSmolt</Property> <Remove timestamp="2002-02-02T13:00:00.0Z" eventTimeZoneOffset="+02:00"/> </BatchMsg></Message><!--BatchMsg->Property changed =>ObjectEvent(OBSERVE)--> <ObjectEvent> <eventTime>2001-01-05T13:00:00.0Z</eventTime> <eventTimeZoneOffset>+00:00</eventTimeZoneOffset> <epcList> <epc>urn:gtnet:070306400001.prod_1.0001</epc> </epcList> <action>OBSERVE</action> <ttdata:ProductName unit="powerpoint" timestamp="2001-01-05T13:00:00.0Z">NewSmolt</ttdata:ProductName> <gtnet:entityClass>Batch</gtnet:entityClass> </ObjectEvent> <!--BatchMsg->Property changed =>ObjectEvent(OBSERVE)--> <ObjectEvent> <eventTime>2002-02-02T13:00:00.0Z</eventTime> <eventTimeZoneOffset>+00:00</eventTimeZoneOffset> <epcList> <epc>urn:gtnet:070306400001.prod_1.0001</epc> </epcList> <action>OBSERVE</action> <ttdata:ProductName timestamp="2002-02-02T13:00:00.0Z">EvenNewerSmolt</ttdata:ProductName> <gtnet:entityClass>Batch</gtnet:entityClass> </ObjectEvent> <!--BatchMsg->Batch removed =>ObjectEvent(DELETE)--> <ObjectEvent> <eventTime>2002-02-02T13:00:00.0Z</eventTime> <eventTimeZoneOffset>+02:00</eventTimeZoneOffset> <epcList> <epc>urn:gtnet:070306400001.prod_1.0001</epc> </epcList> <action>DELETE</action> <gtnet:entityClass>Batch</gtnet:entityClass> </ObjectEvent> - EPCIS: ObjectEvent (OBSERVE)
- Description: Each Property element is transformed to a new ObjectEvent with action OBSERVE.Each SentTo and ReceivedFrom element is transformed to a new ObjectEvent with action OBSERVE. Each External element is transformed to a new ObjectEvent with action OBSERVE where externalId becomes gtnet:alternateId and epc receivedId becomes epc.
<Message> <TradeUnitMsg id="ReceivedRM"> <ReceivedFrom orgType="gln" timestamp="2001-01-02T13:00:00.0Z" organization="7080000718160"/> <SentTo orgType="gln" timestamp="2001-02-02T13:00:00.0Z" organization="7080000701438"/> <External externalId="101" receivedId="102"/> <Property prop-ref="PurchasingOrderNo" timestamp="2001-01-05T13:00:00.0Z" unit="celsius">2</Property> </TradeUnitMsg></Message><!--TradeUnitMsg->Property changed =>ObjectEvent(OBSERVE)--> <ObjectEvent> <eventTime>2001-01-05T13:00:00.0Z</eventTime> <eventTimeZoneOffset>+00:00</eventTimeZoneOffset> <epcList> <epc>ReceivedRM</epc> </epcList> <action>OBSERVE</action> <ttdata:PurchasingOrderNo unit="celsius" timestamp="2001-01-05T13:00:00.0Z">2</ttdata:PurchasingOrderNo> <gtnet:entityClass>TradeUnit</gtnet:entityClass> </ObjectEvent> <!--TradeUnitMsg->TradeUnit SentTo =>ObjectEvent(OBSERVE)--> <ObjectEvent> <eventTime>2001-02-02T13:00:00.0Z</eventTime> <eventTimeZoneOffset>+00:00</eventTimeZoneOffset> <epcList> <epc>ReceivedRM</epc> </epcList> <action>OBSERVE</action> <bizStep>urn:epcglobal:cbv:bizstep:shipping</bizStep> <disposition>urn:epcglobal:cbv:disp:in_transit</disposition> <gtnet:party_id>7080000701438</gtnet:party_id> <gtnet:party_id_type>gln</gtnet:party_id_type> </ObjectEvent> <!--TradeUnitMsg->TradeUnit ReceivedFrom =>ObjectEvent(OBSERVE)--> <ObjectEvent> <eventTime>2001-01-02T13:00:00.0Z</eventTime> <eventTimeZoneOffset>+00:00</eventTimeZoneOffset> <epcList> <epc>ReceivedRM</epc> </epcList> <action>OBSERVE</action> <bizStep>urn:epcglobal:cbv:bizstep:receiving</bizStep> <disposition>urn:epcglobal:cbv:disp:in_transit</disposition> <gtnet:party_id>7080000718160</gtnet:party_id> <gtnet:party_id_type>gln</gtnet:party_id_type> </ObjectEvent> <!--TradeUnitMsg->External =>ObjectEvent(OBSERVE)--> <ObjectEvent> <eventTime>1970-01-01T00:00:00.0Z</eventTime> <eventTimeZoneOffset>+00:00</eventTimeZoneOffset> <epcList> <epc>ReceivedRM</epc> </epcList> <action>OBSERVE</action> <gtnet:alternateId>101</gtnet:alternateId> <gtnet:receivedId>102</gtnet:receivedId> </ObjectEvent> - EPCIS: AggregationEvent(ADD)
- Description: Each From element is transformed to a new AggregationEvent with action ADD
<TransMsg> <Mix into="123" timestamp="2001-01-02T13:00:00.0Z" amount="12" unit="kilogram"> <From id="Product" unit="gram" amount="11" timestamp="2001-01-02T14:00:00.0Z"/> <From id="Production" timestamp="2001-01-02T15:00:00.0Z"/> </Mix></TransMsg><!--Message->TransMsg->Mix =>AggregationEvent(ADD)--> <AggregationEvent> <eventTime>2001-01-02T14:00:00.0Z</eventTime> <eventTimeZoneOffset>+00:00</eventTimeZoneOffset> <parentID>123</parentID> <childEPCs> <epc>Product</epc> </childEPCs> <action>ADD</action> <bizStep>urn:epcglobal:cbv:bizstep:transforming</bizStep> <disposition>urn:epcglobal:cbv:disp:active</disposition> <gtnet:transformationType>MIX</gtnet:transformationType> <gtnet:amountUnit>gram</gtnet:amountUnit> <gtnet:amountPerChild>11</gtnet:amountPerChild> </AggregationEvent> <AggregationEvent> <eventTime>2001-01-02T15:00:00.0Z</eventTime> <eventTimeZoneOffset>+00:00</eventTimeZoneOffset> <parentID>123</parentID> <childEPCs> <epc>Production</epc> </childEPCs> <action>ADD</action> <bizStep>urn:epcglobal:cbv:bizstep:transforming</bizStep> <disposition>urn:epcglobal:cbv:disp:active</disposition> <gtnet:transformationType>MIX</gtnet:transformationType> <gtnet:amountUnit>kilogram</gtnet:amountUnit> <gtnet:amountPerChild>12</gtnet:amountPerChild></AggregationEvent>
- EPCIS: AggregationEvent(ADD)
- Description: Each Into element is transformed to a new AggregationEvent with action DELETE.
<TransMsg> <Split from="prod_1" timestamp="2001-01-05T13:00:00.0Z"> <Into id="prod_12" amount=".56" unit="kg" timestamp="2001-01-05T13:00:00.0Z"/> </Split></TransMsg><!--TransMsg->Split->Into =>AggregationEvent(ADD)--> <AggregationEvent> <eventTime>2001-01-05T13:00:00.0Z</eventTime> <eventTimeZoneOffset>+00:00</eventTimeZoneOffset> <parentID>prod_1</parentID> <childEPCs> <epc>prod_12</epc> </childEPCs> <action>DELETE</action> <bizStep>urn:epcglobal:cbv:bizstep:transforming</bizStep> <disposition>urn:epcglobal:cbv:disp:active</disposition> <gtnet:transformationType>SPLIT</gtnet:transformationType> <gtnet:amountUnit>kg</gtnet:amountUnit> <gtnet:amountPerChild>.56</gtnet:amountPerChild> </AggregationEvent>
- EPCIS: AggregationEvent(ADD)
- Description: Each From element is transformed to a new AggregationEvent with action ADD. Each From will also get a new ObjectEvent with action DELETE.
<TransMsg> <Join into="prod_15" timestamp="2001-01-05T14:00:00.0Z" eventTimeZoneOffset="+03:00"> <From id="prod_101" timestamp="2001-01-05T14:10:00.0Z"/> <From id="prod_102" timestamp="2001-01-05T14:20:00.0Z"/> </Join></TransMsg><!--TransMsg->Join->From =>AggregationEvent(ADD)--> <AggregationEvent> <eventTime>2001-01-05T14:10:00.0Z</eventTime> <eventTimeZoneOffset>+03:00</eventTimeZoneOffset> <parentID>prod_15</parentID> <childEPCs> <epc>prod_101</epc> </childEPCs> <action>ADD</action> <bizStep>urn:epcglobal:cbv:bizstep:transforming</bizStep> <gtnet:transformationType>JOIN</gtnet:transformationType></AggregationEvent> <AggregationEvent> <eventTime>2001-01-05T14:20:00.0Z</eventTime> <eventTimeZoneOffset>+03:00</eventTimeZoneOffset> <parentID>prod_15</parentID> <childEPCs> <epc>prod_102</epc> </childEPCs> <action>ADD</action> <bizStep>urn:epcglobal:cbv:bizstep:transforming</bizStep> <gtnet:transformationType>JOIN</gtnet:transformationType></AggregationEvent>
- EPCIS: AggregationEvent (DELETE)
- Description: Convert is transformed into an AggregationEvent with action DELETE. The from attribute is turned into parentID and id is turned into childEPC.
<TransMsg> <Convert from="prod_15" timestamp="2001-01-05T15:00:00.0Z"> <Into id="finished_product" timestamp="2001-01-05T16:00:00.0Z"/> </Convert></TransMsg><!--Message->TransMsg->Convert =>AggregationEvent(ADD)--> <AggregationEvent> <eventTime>2001-01-05T16:00:00.0Z</eventTime> <eventTimeZoneOffset>+00:00</eventTimeZoneOffset> <parentID>prod_15</parentID> <childEPCs> <epc>finished_product</epc> </childEPCs> <action>DELETE</action> <bizStep>urn:epcglobal:cbv:bizstep:transforming</bizStep> <gtnet:transformationType>CONVERT</gtnet:transformationType> </AggregationEvent>
- EPCIS: AggregationEvent (ADD)
- Description: Each From element is transformed to a new AggregationEvent with action ADD.
<TransMsg> <EnterCluster into="finished_product" timestamp="2001-01-05T17:00:00.0Z"> <From id="prod_11" timestamp="2001-01-05T18:00:00.0Z"/> <From id="prod_12"/> </EnterCluster></TransMsg><!--Message->TransMsg->EnterCluster =>AggregationEvent(ADD)--> <AggregationEvent> <eventTime>2001-01-05T18:00:00.0Z</eventTime> <eventTimeZoneOffset>+00:00</eventTimeZoneOffset> <parentID>finished_product</parentID> <childEPCs> <epc>prod_11</epc> </childEPCs> <action>ADD</action> <bizStep>urn:epcglobal:cbv:bizstep:packing</bizStep> <gtnet:transformationType>ENTERCLUSTER</gtnet:transformationType></AggregationEvent> <AggregationEvent> <eventTime>2001-01-05T17:00:00.0Z</eventTime> <eventTimeZoneOffset>+00:00</eventTimeZoneOffset> <parentID>finished_product</parentID> <childEPCs> <epc>prod_12</epc> </childEPCs> <action>ADD</action> <bizStep>urn:epcglobal:cbv:bizstep:packing</bizStep> <gtnet:transformationType>ENTERCLUSTER</gtnet:transformationType></AggregationEvent>
- EPCIS: AggregationEvent (DELETE)
- Description: Each Into element is transformed to a new AggregationEvent with action DELETE.
<TransMsg> <LeaveCluster from="finished_product" timestamp="2001-01-05T18:00:00.0Z"> <Into id="prod_11" timestamp="2001-01-05T19:00:00.0Z"/> <Into id="prod_12"/> </LeaveCluster></TransMsg><!--Message->TransMsg->LeaveCluster =>AggregationEvent(DELETE)--> <AggregationEvent> <eventTime>2001-01-05T19:00:00.0Z</eventTime> <eventTimeZoneOffset>+00:00</eventTimeZoneOffset> <parentID>finished_product</parentID> <childEPCs> <epc>prod_11</epc> </childEPCs> <action>DELETE</action> <bizStep>urn:epcglobal:cbv:bizstep:unpacking</bizStep> <gtnet:transformationType>LEAVECLUSTER</gtnet:transformationType></AggregationEvent> <AggregationEvent> <eventTime>2001-01-05T18:00:00.0Z</eventTime> <eventTimeZoneOffset>+00:00</eventTimeZoneOffset> <parentID>finished_product</parentID> <childEPCs> <epc>prod_12</epc> </childEPCs> <action>DELETE</action> <bizStep>urn:epcglobal:cbv:bizstep:unpacking</bizStep> <gtnet:transformationType>LEAVECLUSTER</gtnet:transformationType></AggregationEvent>
- EPCIS: ObjectEvent (OBSERVE)
- Description: Each Property, EnterStation and LeaveStation element is transformed to a new ObjectEvent with action OBSERVE.
<StationMsg id="station_1"> <EnterStation timestamp="2001-01-05T19:00:00.0Z" id="prod_15"/> <LeaveStation timestamp="2001-01-05T20:00:00.0Z" id="prod_16"/> <Property prop-ref="temperature" timestamp="2001-01-05T19:00:00.0Z" unit="celcius">15</Property></StationMsg><!--StationMsg->EnterStation =>ObjectEvent(OBSERVE)--> <ObjectEvent> <eventTime>2001-01-05T19:00:00.0Z</eventTime> <eventTimeZoneOffset>+00:00</eventTimeZoneOffset> <epcList> <epc>prod_15</epc> </epcList> <action>OBSERVE</action> <bizStep>urn:epcglobal:cbv:bizstep:storing</bizStep> <bizLocation> <id>station_1</id> </bizLocation> <gtnet:stationMsg>enter</gtnet:stationMsg> <gtnet:entityClass>Location</gtnet:entityClass> </ObjectEvent> <!--StationMsg->LeaveStation =>ObjectEvent(OBSERVE)--> <ObjectEvent> <eventTime>2001-01-05T20:00:00.0Z</eventTime> <eventTimeZoneOffset>+00:00</eventTimeZoneOffset> <epcList> <epc>prod_16</epc> </epcList> <action>OBSERVE</action> <bizStep>urn:epcglobal:cbv:bizstep:stocking</bizStep> <bizLocation> <id>station_1</id> </bizLocation> <gtnet:stationMsg>leave</gtnet:stationMsg> <gtnet:entityClass>Location</gtnet:entityClass> </ObjectEvent> <!--StationMsg->Property changed =>ObjectEvent(OBSERVE)--> <ObjectEvent> <eventTime>2001-01-05T19:00:00.0Z</eventTime> <eventTimeZoneOffset>+00:00</eventTimeZoneOffset> <epcList> <epc>station_1</epc> </epcList> <action>OBSERVE</action> <ttdata:temperature unit="celcius" timestamp="2001-01-05T19:00:00.0Z">15</ttdata:temperature> <gtnet:entityClass>Location</gtnet:entityClass> </ObjectEvent>
Rules for converting EPCIS to ttData.