<?xml version="1.0" encoding="UTF-8"?>
<tdt:epcTagDataTranslation version="2.0" date="2023-03-31T17:30:00Z" epcTDSVersion="2.0" xmlns:tdt="urn:epcglobal:tdt:xsd:2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:epcglobal:tdt:xsd:2 EpcTagDataTranslation.xsd">
	<scheme name="ITIP-212" optionKey="gs1companyprefixlength" tagLength="212">
		<level type="BINARY" prefixMatch="01000001" requiredFormattingParameters="filter,tagLength">
			<option optionKey="12" pattern="^01000001([01]{3})000([01]{40})([01]{4})([01]{7})([01]{7})([01]{140})" grammar="'01000001' filter '000' gs1companyprefix itemref piece total serial">
				<field seq="1" name="filter" decimalMinimum="0" decimalMaximum="7" characterSet="[01]*" bitPadDir="LEFT" bitLength="3"/>
				<field seq="2" name="gs1companyprefix" decimalMinimum="0" decimalMaximum="999999999999" characterSet="[01]*" bitPadDir="LEFT" bitLength="40"/>
				<field seq="3" name="itemref" decimalMinimum="0" decimalMaximum="9" characterSet="[01]*" bitPadDir="LEFT" bitLength="4"/>
				<field seq="4" name="piece" decimalMinimum="0" decimalMaximum="99" characterSet="[01]*" bitPadDir="LEFT" bitLength="7"/>
				<field seq="5" name="total" decimalMinimum="0" decimalMaximum="99" characterSet="[01]*" bitPadDir="LEFT" bitLength="7"/>
				<field seq="6" name="serial" characterSet="[01]*" bitPadDir="RIGHT" bitLength="140" compaction="7-bit"/>
			</option>
			<option optionKey="11" pattern="^01000001([01]{3})001([01]{37})([01]{7})([01]{7})([01]{7})([01]{140})" grammar="'01000001' filter '001' gs1companyprefix itemref piece total serial">
				<field seq="1" name="filter" decimalMinimum="0" decimalMaximum="7" characterSet="[01]*" bitPadDir="LEFT" bitLength="3"/>
				<field seq="2" name="gs1companyprefix" decimalMinimum="0" decimalMaximum="99999999999" characterSet="[01]*" bitPadDir="LEFT" bitLength="37"/>
				<field seq="3" name="itemref" decimalMinimum="0" decimalMaximum="99" characterSet="[01]*" bitPadDir="LEFT" bitLength="7"/>
				<field seq="4" name="piece" decimalMinimum="0" decimalMaximum="99" characterSet="[01]*" bitPadDir="LEFT" bitLength="7"/>
				<field seq="5" name="total" decimalMinimum="0" decimalMaximum="99" characterSet="[01]*" bitPadDir="LEFT" bitLength="7"/>
				<field seq="6" name="serial" characterSet="[01]*" bitPadDir="RIGHT" bitLength="140" compaction="7-bit"/>
			</option>
			<option optionKey="10" pattern="^01000001([01]{3})010([01]{34})([01]{10})([01]{7})([01]{7})([01]{140})" grammar="'01000001' filter '010' gs1companyprefix itemref piece total serial">
				<field seq="1" name="filter" decimalMinimum="0" decimalMaximum="7" characterSet="[01]*" bitPadDir="LEFT" bitLength="3"/>
				<field seq="2" name="gs1companyprefix" decimalMinimum="0" decimalMaximum="9999999999" characterSet="[01]*" bitPadDir="LEFT" bitLength="34"/>
				<field seq="3" name="itemref" decimalMinimum="0" decimalMaximum="999" characterSet="[01]*" bitPadDir="LEFT" bitLength="10"/>
				<field seq="4" name="piece" decimalMinimum="0" decimalMaximum="99" characterSet="[01]*" bitPadDir="LEFT" bitLength="7"/>
				<field seq="5" name="total" decimalMinimum="0" decimalMaximum="99" characterSet="[01]*" bitPadDir="LEFT" bitLength="7"/>
				<field seq="6" name="serial" characterSet="[01]*" bitPadDir="RIGHT" bitLength="140" compaction="7-bit"/>
			</option>
			<option optionKey="9" pattern="^01000001([01]{3})011([01]{30})([01]{14})([01]{7})([01]{7})([01]{140})" grammar="'01000001' filter '011' gs1companyprefix itemref piece total serial">
				<field seq="1" name="filter" decimalMinimum="0" decimalMaximum="7" characterSet="[01]*" bitPadDir="LEFT" bitLength="3"/>
				<field seq="2" name="gs1companyprefix" decimalMinimum="0" decimalMaximum="999999999" characterSet="[01]*" bitPadDir="LEFT" bitLength="30"/>
				<field seq="3" name="itemref" decimalMinimum="0" decimalMaximum="9999" characterSet="[01]*" bitPadDir="LEFT" bitLength="14"/>
				<field seq="4" name="piece" decimalMinimum="0" decimalMaximum="99" characterSet="[01]*" bitPadDir="LEFT" bitLength="7"/>
				<field seq="5" name="total" decimalMinimum="0" decimalMaximum="99" characterSet="[01]*" bitPadDir="LEFT" bitLength="7"/>
				<field seq="6" name="serial" characterSet="[01]*" bitPadDir="RIGHT" bitLength="140" compaction="7-bit"/>
			</option>
			<option optionKey="8" pattern="^01000001([01]{3})100([01]{27})([01]{17})([01]{7})([01]{7})([01]{140})" grammar="'01000001' filter '100' gs1companyprefix itemref piece total serial">
				<field seq="1" name="filter" decimalMinimum="0" decimalMaximum="7" characterSet="[01]*" bitPadDir="LEFT" bitLength="3"/>
				<field seq="2" name="gs1companyprefix" decimalMinimum="0" decimalMaximum="99999999" characterSet="[01]*" bitPadDir="LEFT" bitLength="27"/>
				<field seq="3" name="itemref" decimalMinimum="0" decimalMaximum="99999" characterSet="[01]*" bitPadDir="LEFT" bitLength="17"/>
				<field seq="4" name="piece" decimalMinimum="0" decimalMaximum="99" characterSet="[01]*" bitPadDir="LEFT" bitLength="7"/>
				<field seq="5" name="total" decimalMinimum="0" decimalMaximum="99" characterSet="[01]*" bitPadDir="LEFT" bitLength="7"/>
				<field seq="6" name="serial" characterSet="[01]*" bitPadDir="RIGHT" bitLength="140" compaction="7-bit"/>
			</option>
			<option optionKey="7" pattern="^01000001([01]{3})101([01]{24})([01]{20})([01]{7})([01]{7})([01]{140})" grammar="'01000001' filter '101' gs1companyprefix itemref piece total serial">
				<field seq="1" name="filter" decimalMinimum="0" decimalMaximum="7" characterSet="[01]*" bitPadDir="LEFT" bitLength="3"/>
				<field seq="2" name="gs1companyprefix" decimalMinimum="0" decimalMaximum="9999999" characterSet="[01]*" bitPadDir="LEFT" bitLength="24"/>
				<field seq="3" name="itemref" decimalMinimum="0" decimalMaximum="999999" characterSet="[01]*" bitPadDir="LEFT" bitLength="20"/>
				<field seq="4" name="piece" decimalMinimum="0" decimalMaximum="99" characterSet="[01]*" bitPadDir="LEFT" bitLength="7"/>
				<field seq="5" name="total" decimalMinimum="0" decimalMaximum="99" characterSet="[01]*" bitPadDir="LEFT" bitLength="7"/>
				<field seq="6" name="serial" characterSet="[01]*" bitPadDir="RIGHT" bitLength="140" compaction="7-bit"/>
			</option>
			<option optionKey="6" pattern="^01000001([01]{3})110([01]{20})([01]{24})([01]{7})([01]{7})([01]{140})" grammar="'01000001' filter '110' gs1companyprefix itemref piece total serial">
				<field seq="1" name="filter" decimalMinimum="0" decimalMaximum="7" characterSet="[01]*" bitPadDir="LEFT" bitLength="3"/>
				<field seq="2" name="gs1companyprefix" decimalMinimum="0" decimalMaximum="999999" characterSet="[01]*" bitPadDir="LEFT" bitLength="20"/>
				<field seq="3" name="itemref" decimalMinimum="0" decimalMaximum="9999999" characterSet="[01]*" bitPadDir="LEFT" bitLength="24"/>
				<field seq="4" name="piece" decimalMinimum="0" decimalMaximum="99" characterSet="[01]*" bitPadDir="LEFT" bitLength="7"/>
				<field seq="5" name="total" decimalMinimum="0" decimalMaximum="99" characterSet="[01]*" bitPadDir="LEFT" bitLength="7"/>
				<field seq="6" name="serial" characterSet="[01]*" bitPadDir="RIGHT" bitLength="140" compaction="7-bit"/>
			</option>
		</level>
		<level type="TAG_ENCODING" prefixMatch="urn:epc:tag:itip-212" requiredFormattingParameters="filter,tagLength">
			<option optionKey="12" pattern="^urn:epc:tag:itip-212:([0-7]{1})\.([0-9]{12})\.([0-9]{1})\.([0-9]{2})\.([0-9]{2})\.((?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25){1,20})$" grammar="'urn:epc:tag:itip-212:' filter '.' gs1companyprefix '.' itemref '.' piece '.' total '.' urnEscapedSerial">
				<field seq="1" name="filter" decimalMinimum="0" decimalMaximum="7" characterSet="[0-7]*" length="1" padChar="0" padDir="LEFT"/>
				<field seq="2" name="gs1companyprefix" decimalMinimum="0" decimalMaximum="999999999999" characterSet="[0-9]*" length="12" padChar="0" padDir="LEFT"/>
				<field seq="3" name="itemref" decimalMinimum="0" decimalMaximum="9" characterSet="[0-9]*" length="1" padChar="0" padDir="LEFT"/>
				<field seq="4" name="piece" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="5" name="total" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="6" name="urnEscapedSerial" characterSet="(?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25)*"/>
			</option>
			<option optionKey="11" pattern="^urn:epc:tag:itip-212:([0-7]{1})\.([0-9]{11})\.([0-9]{2})\.([0-9]{2})\.([0-9]{2})\.((?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25){1,20})$" grammar="'urn:epc:tag:itip-212:' filter '.' gs1companyprefix '.' itemref '.' piece '.' total '.' urnEscapedSerial">
				<field seq="1" name="filter" decimalMinimum="0" decimalMaximum="7" characterSet="[0-7]*" length="1" padChar="0" padDir="LEFT"/>
				<field seq="2" name="gs1companyprefix" decimalMinimum="0" decimalMaximum="99999999999" characterSet="[0-9]*" length="11" padChar="0" padDir="LEFT"/>
				<field seq="3" name="itemref" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="4" name="piece" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="5" name="total" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="6" name="urnEscapedSerial" characterSet="(?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25)*"/>
			</option>
			<option optionKey="10" pattern="^urn:epc:tag:itip-212:([0-7]{1})\.([0-9]{10})\.([0-9]{3})\.([0-9]{2})\.([0-9]{2})\.((?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25){1,20})$" grammar="'urn:epc:tag:itip-212:' filter '.' gs1companyprefix '.' itemref '.' piece '.' total '.' urnEscapedSerial">
				<field seq="1" name="filter" decimalMinimum="0" decimalMaximum="7" characterSet="[0-7]*" length="1" padChar="0" padDir="LEFT"/>
				<field seq="2" name="gs1companyprefix" decimalMinimum="0" decimalMaximum="9999999999" characterSet="[0-9]*" length="10" padChar="0" padDir="LEFT"/>
				<field seq="3" name="itemref" decimalMinimum="0" decimalMaximum="999" characterSet="[0-9]*" length="3" padChar="0" padDir="LEFT"/>
				<field seq="4" name="piece" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="5" name="total" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="6" name="urnEscapedSerial" characterSet="(?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25)*"/>
			</option>
			<option optionKey="9" pattern="^urn:epc:tag:itip-212:([0-7]{1})\.([0-9]{9})\.([0-9]{4})\.([0-9]{2})\.([0-9]{2})\.((?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25){1,20})$" grammar="'urn:epc:tag:itip-212:' filter '.' gs1companyprefix '.' itemref '.' piece '.' total '.' urnEscapedSerial">
				<field seq="1" name="filter" decimalMinimum="0" decimalMaximum="7" characterSet="[0-7]*" length="1" padChar="0" padDir="LEFT"/>
				<field seq="2" name="gs1companyprefix" decimalMinimum="0" decimalMaximum="999999999" characterSet="[0-9]*" length="9" padChar="0" padDir="LEFT"/>
				<field seq="3" name="itemref" decimalMinimum="0" decimalMaximum="9999" characterSet="[0-9]*" length="4" padChar="0" padDir="LEFT"/>
				<field seq="4" name="piece" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="5" name="total" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="6" name="urnEscapedSerial" characterSet="(?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25)*"/>
			</option>
			<option optionKey="8" pattern="^urn:epc:tag:itip-212:([0-7]{1})\.([0-9]{8})\.([0-9]{5})\.([0-9]{2})\.([0-9]{2})\.((?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25){1,20})$" grammar="'urn:epc:tag:itip-212:' filter '.' gs1companyprefix '.' itemref '.' piece '.' total '.' urnEscapedSerial">
				<field seq="1" name="filter" decimalMinimum="0" decimalMaximum="7" characterSet="[0-7]*" length="1" padChar="0" padDir="LEFT"/>
				<field seq="2" name="gs1companyprefix" decimalMinimum="0" decimalMaximum="99999999" characterSet="[0-9]*" length="8" padChar="0" padDir="LEFT"/>
				<field seq="3" name="itemref" decimalMinimum="0" decimalMaximum="99999" characterSet="[0-9]*" length="5" padChar="0" padDir="LEFT"/>
				<field seq="4" name="piece" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="5" name="total" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="6" name="urnEscapedSerial" characterSet="(?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25)*"/>
			</option>
			<option optionKey="7" pattern="^urn:epc:tag:itip-212:([0-7]{1})\.([0-9]{7})\.([0-9]{6})\.([0-9]{2})\.([0-9]{2})\.((?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25){1,20})$" grammar="'urn:epc:tag:itip-212:' filter '.' gs1companyprefix '.' itemref '.' piece '.' total '.' urnEscapedSerial">
				<field seq="1" name="filter" decimalMinimum="0" decimalMaximum="7" characterSet="[0-7]*" length="1" padChar="0" padDir="LEFT"/>
				<field seq="2" name="gs1companyprefix" decimalMinimum="0" decimalMaximum="9999999" characterSet="[0-9]*" length="7" padChar="0" padDir="LEFT"/>
				<field seq="3" name="itemref" decimalMinimum="0" decimalMaximum="999999" characterSet="[0-9]*" length="6" padChar="0" padDir="LEFT"/>
				<field seq="4" name="piece" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="5" name="total" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="6" name="urnEscapedSerial" characterSet="(?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25)*"/>
			</option>
			<option optionKey="6" pattern="^urn:epc:tag:itip-212:([0-7]{1})\.([0-9]{6})\.([0-9]{7})\.([0-9]{2})\.([0-9]{2})\.((?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25){1,20})$" grammar="'urn:epc:tag:itip-212:' filter '.' gs1companyprefix '.' itemref '.' piece '.' total '.' urnEscapedSerial">
				<field seq="1" name="filter" decimalMinimum="0" decimalMaximum="7" characterSet="[0-7]*" length="1" padChar="0" padDir="LEFT"/>
				<field seq="2" name="gs1companyprefix" decimalMinimum="0" decimalMaximum="999999" characterSet="[0-9]*" length="6" padChar="0" padDir="LEFT"/>
				<field seq="3" name="itemref" decimalMinimum="0" decimalMaximum="9999999" characterSet="[0-9]*" length="7" padChar="0" padDir="LEFT"/>
				<field seq="4" name="piece" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="5" name="total" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="6" name="urnEscapedSerial" characterSet="(?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25)*"/>
			</option>
			<rule type="EXTRACT" inputFormat="STRING" seq="1" newFieldName="serial" characterSet="[!%-?A-Z_a-z\x22]*" function="URNDECODE(urnEscapedSerial)"/>
			<rule type="FORMAT" inputFormat="STRING" seq="1" newFieldName="urnEscapedSerial" characterSet="(?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25)*" function="URNENCODE(serial)"/>
		</level>
		<level type="PURE_IDENTITY" prefixMatch="urn:epc:id:itip">
			<option optionKey="12" pattern="^urn:epc:id:itip:([0-9]{12})\.([0-9]{1})\.([0-9]{2})\.([0-9]{2})\.((?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25){1,20})$" grammar="'urn:epc:id:itip:' gs1companyprefix '.' itemref '.' piece '.' total '.' urnEscapedSerial">
				<field seq="1" name="gs1companyprefix" decimalMinimum="0" decimalMaximum="999999999999" characterSet="[0-9]*" length="12" padChar="0" padDir="LEFT"/>
				<field seq="2" name="itemref" decimalMinimum="0" decimalMaximum="9" characterSet="[0-9]*" length="1" padChar="0" padDir="LEFT"/>
				<field seq="3" name="piece" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="4" name="total" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="5" name="urnEscapedSerial" characterSet="(?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25)*"/>
			</option>
			<option optionKey="11" pattern="^urn:epc:id:itip:([0-9]{11})\.([0-9]{2})\.([0-9]{2})\.([0-9]{2})\.((?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25){1,20})$" grammar="'urn:epc:id:itip:' gs1companyprefix '.' itemref '.' piece '.' total '.' urnEscapedSerial">
				<field seq="1" name="gs1companyprefix" decimalMinimum="0" decimalMaximum="99999999999" characterSet="[0-9]*" length="11" padChar="0" padDir="LEFT"/>
				<field seq="2" name="itemref" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="3" name="piece" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="4" name="total" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="5" name="urnEscapedSerial" characterSet="(?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25)*"/>
			</option>
			<option optionKey="10" pattern="^urn:epc:id:itip:([0-9]{10})\.([0-9]{3})\.([0-9]{2})\.([0-9]{2})\.((?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25){1,20})$" grammar="'urn:epc:id:itip:' gs1companyprefix '.' itemref '.' piece '.' total '.' urnEscapedSerial">
				<field seq="1" name="gs1companyprefix" decimalMinimum="0" decimalMaximum="9999999999" characterSet="[0-9]*" length="10" padChar="0" padDir="LEFT"/>
				<field seq="2" name="itemref" decimalMinimum="0" decimalMaximum="999" characterSet="[0-9]*" length="3" padChar="0" padDir="LEFT"/>
				<field seq="3" name="piece" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="4" name="total" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="5" name="urnEscapedSerial" characterSet="(?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25)*"/>
			</option>
			<option optionKey="9" pattern="^urn:epc:id:itip:([0-9]{9})\.([0-9]{4})\.([0-9]{2})\.([0-9]{2})\.((?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25){1,20})$" grammar="'urn:epc:id:itip:' gs1companyprefix '.' itemref '.' piece '.' total '.' urnEscapedSerial">
				<field seq="1" name="gs1companyprefix" decimalMinimum="0" decimalMaximum="999999999" characterSet="[0-9]*" length="9" padChar="0" padDir="LEFT"/>
				<field seq="2" name="itemref" decimalMinimum="0" decimalMaximum="9999" characterSet="[0-9]*" length="4" padChar="0" padDir="LEFT"/>
				<field seq="3" name="piece" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="4" name="total" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="5" name="urnEscapedSerial" characterSet="(?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25)*"/>
			</option>
			<option optionKey="8" pattern="^urn:epc:id:itip:([0-9]{8})\.([0-9]{5})\.([0-9]{2})\.([0-9]{2})\.((?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25){1,20})$" grammar="'urn:epc:id:itip:' gs1companyprefix '.' itemref '.' piece '.' total '.' urnEscapedSerial">
				<field seq="1" name="gs1companyprefix" decimalMinimum="0" decimalMaximum="99999999" characterSet="[0-9]*" length="8" padChar="0" padDir="LEFT"/>
				<field seq="2" name="itemref" decimalMinimum="0" decimalMaximum="99999" characterSet="[0-9]*" length="5" padChar="0" padDir="LEFT"/>
				<field seq="3" name="piece" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="4" name="total" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="5" name="urnEscapedSerial" characterSet="(?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25)*"/>
			</option>
			<option optionKey="7" pattern="^urn:epc:id:itip:([0-9]{7})\.([0-9]{6})\.([0-9]{2})\.([0-9]{2})\.((?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25){1,20})$" grammar="'urn:epc:id:itip:' gs1companyprefix '.' itemref '.' piece '.' total '.' urnEscapedSerial">
				<field seq="1" name="gs1companyprefix" decimalMinimum="0" decimalMaximum="9999999" characterSet="[0-9]*" length="7" padChar="0" padDir="LEFT"/>
				<field seq="2" name="itemref" decimalMinimum="0" decimalMaximum="999999" characterSet="[0-9]*" length="6" padChar="0" padDir="LEFT"/>
				<field seq="3" name="piece" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="4" name="total" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="5" name="urnEscapedSerial" characterSet="(?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25)*"/>
			</option>
			<option optionKey="6" pattern="^urn:epc:id:itip:([0-9]{6})\.([0-9]{7})\.([0-9]{2})\.([0-9]{2})\.((?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25){1,20})$" grammar="'urn:epc:id:itip:' gs1companyprefix '.' itemref '.' piece '.' total '.' urnEscapedSerial">
				<field seq="1" name="gs1companyprefix" decimalMinimum="0" decimalMaximum="999999" characterSet="[0-9]*" length="6" padChar="0" padDir="LEFT"/>
				<field seq="2" name="itemref" decimalMinimum="0" decimalMaximum="9999999" characterSet="[0-9]*" length="7" padChar="0" padDir="LEFT"/>
				<field seq="3" name="piece" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="4" name="total" decimalMinimum="0" decimalMaximum="99" characterSet="[0-9]*" length="2" padChar="0" padDir="LEFT"/>
				<field seq="5" name="urnEscapedSerial" characterSet="(?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25)*"/>
			</option>
			<rule type="EXTRACT" inputFormat="STRING" seq="1" newFieldName="serial" characterSet="[!%-?A-Z_a-z\x22]*" function="URNDECODE(urnEscapedSerial)"/>
			<rule type="FORMAT" inputFormat="STRING" seq="1" newFieldName="urnEscapedSerial" characterSet="(?:[A-Za-z0-9!'()*+,.:;=_-]|%22|%26|%2F|%3C|%3E|%3F|%25)*" function="URNENCODE(serial)"/>
		</level>
		<level type="BARE_IDENTIFIER" prefixMatch="itip=" requiredParsingParameters="gs1companyprefixlength">
			<option optionKey="12" pattern="^itip=([0-9]{18});serial=([!%-?A-Z_a-z\x22]{1,20})$" grammar="'itip=' indicatordigit gs1companyprefix itemrefremainder checkdigit piece total ';serial=' serial">
				<field seq="1" name="itip" decimalMinimum="0" decimalMaximum="99999999999999" characterSet="[0-9]*" length="18" padChar="0" padDir="LEFT" gcpOffset="1"/>
				<field seq="2" name="serial" characterSet="[!%-?A-Z_a-z\x22]*"/>
			</option>
			<option optionKey="11" pattern="^itip=([0-9]{18});serial=([!%-?A-Z_a-z\x22]{1,20})$" grammar="'itip=' indicatordigit gs1companyprefix itemrefremainder checkdigit piece total ';serial=' serial">
				<field seq="1" name="itip" decimalMinimum="0" decimalMaximum="99999999999999" characterSet="[0-9]*" length="18" padChar="0" padDir="LEFT" gcpOffset="1"/>
				<field seq="2" name="serial" characterSet="[!%-?A-Z_a-z\x22]*"/>
			</option>
			<option optionKey="10" pattern="^itip=([0-9]{18});serial=([!%-?A-Z_a-z\x22]{1,20})$" grammar="'itip=' indicatordigit gs1companyprefix itemrefremainder checkdigit piece total ';serial=' serial">
				<field seq="1" name="itip" decimalMinimum="0" decimalMaximum="99999999999999" characterSet="[0-9]*" length="18" padChar="0" padDir="LEFT" gcpOffset="1"/>
				<field seq="2" name="serial" characterSet="[!%-?A-Z_a-z\x22]*"/>
			</option>
			<option optionKey="9" pattern="^itip=([0-9]{18});serial=([!%-?A-Z_a-z\x22]{1,20})$" grammar="'itip=' indicatordigit gs1companyprefix itemrefremainder checkdigit piece total ';serial=' serial">
				<field seq="1" name="itip" decimalMinimum="0" decimalMaximum="99999999999999" characterSet="[0-9]*" length="18" padChar="0" padDir="LEFT" gcpOffset="1"/>
				<field seq="2" name="serial" characterSet="[!%-?A-Z_a-z\x22]*"/>
			</option>
			<option optionKey="8" pattern="^itip=([0-9]{18});serial=([!%-?A-Z_a-z\x22]{1,20})$" grammar="'itip=' indicatordigit gs1companyprefix itemrefremainder checkdigit piece total ';serial=' serial">
				<field seq="1" name="itip" decimalMinimum="0" decimalMaximum="99999999999999" characterSet="[0-9]*" length="18" padChar="0" padDir="LEFT" gcpOffset="1"/>
				<field seq="2" name="serial" characterSet="[!%-?A-Z_a-z\x22]*"/>
			</option>
			<option optionKey="7" pattern="^itip=([0-9]{18});serial=([!%-?A-Z_a-z\x22]{1,20})$" grammar="'itip=' indicatordigit gs1companyprefix itemrefremainder checkdigit piece total ';serial=' serial">
				<field seq="1" name="itip" decimalMinimum="0" decimalMaximum="99999999999999" characterSet="[0-9]*" length="18" padChar="0" padDir="LEFT" gcpOffset="1"/>
				<field seq="2" name="serial" characterSet="[!%-?A-Z_a-z\x22]*"/>
			</option>
			<option optionKey="6" pattern="^itip=([0-9]{18});serial=([!%-?A-Z_a-z\x22]{1,20})$" grammar="'itip=' indicatordigit gs1companyprefix itemrefremainder checkdigit piece total ';serial=' serial">
				<field seq="1" name="itip" decimalMinimum="0" decimalMaximum="99999999999999" characterSet="[0-9]*" length="18" padChar="0" padDir="LEFT" gcpOffset="1"/>
				<field seq="2" name="serial" characterSet="[!%-?A-Z_a-z\x22]*"/>
			</option>
			<rule type="EXTRACT" inputFormat="STRING" seq="1" newFieldName="gtinprefixremainder" characterSet="[0-9]*" length="12" function="SUBSTR(itip,1,12)"/>
			<rule type="EXTRACT" inputFormat="STRING" seq="2" newFieldName="indicatordigit" characterSet="[0-9]*" length="1" function="SUBSTR(itip,0,1)"/>
			<rule type="EXTRACT" inputFormat="STRING" seq="3" newFieldName="itemrefremainder" characterSet="[0-9]*" function="SUBSTR(gtinprefixremainder,gs1companyprefixlength)"/>
			<rule type="EXTRACT" inputFormat="STRING" seq="4" newFieldName="itemref" characterSet="[0-9]*" function="CONCAT(indicatordigit,itemrefremainder)"/>
			<rule type="EXTRACT" inputFormat="STRING" seq="5" newFieldName="gs1companyprefix" characterSet="[0-9]*" function="SUBSTR(gtinprefixremainder,0,gs1companyprefixlength)"/>
			<rule type="EXTRACT" inputFormat="STRING" seq="6" newFieldName="piece" characterSet="[0-9]*" length="2" function="SUBSTR(itip,14,2)"/>
			<rule type="EXTRACT" inputFormat="STRING" seq="7" newFieldName="total" characterSet="[0-9]*" length="2" function="SUBSTR(itip,16,2)"/>
			<rule type="FORMAT" inputFormat="STRING" seq="1" newFieldName="indicatordigit" characterSet="[0-9]*" length="1" function="SUBSTR(itemref,0,1)"/>
			<rule type="FORMAT" inputFormat="STRING" seq="2" newFieldName="itemrefremainder" characterSet="[0-9]*" function="SUBSTR(itemref,1)"/>
			<rule type="FORMAT" inputFormat="STRING" seq="3" newFieldName="gtinprefix" characterSet="[0-9]*" length="13" function="CONCAT(indicatordigit,gs1companyprefix,itemrefremainder)"/>
			<rule type="FORMAT" inputFormat="STRING" seq="4" newFieldName="checkdigit" characterSet="[0-9]*" length="1" function="GS1CHECKSUM(gtinprefix)"/>
		</level>
		<level type="ELEMENT_STRING" prefixMatch="(8006)" requiredParsingParameters="gs1companyprefixlength">
			<option optionKey="12" pattern="^\(8006\)([0-9]{18})\(21\)([!%-?A-Z_a-z\x22]{1,20})\b" grammar="'(8006)' indicatordigit gs1companyprefix itemrefremainder checkdigit piece total '(21)' serial">
				<field seq="1" name="itip" decimalMinimum="0" decimalMaximum="99999999999999" characterSet="[0-9]*" length="18" padChar="0" padDir="LEFT" gcpOffset="1"/>
				<field seq="2" name="serial" characterSet="[!%-?A-Z_a-z\x22]*"/>
			</option>
			<option optionKey="11" pattern="^\(8006\)([0-9]{18})\(21\)([!%-?A-Z_a-z\x22]{1,20})\b" grammar="'(8006)' indicatordigit gs1companyprefix itemrefremainder checkdigit piece total '(21)' serial">
				<field seq="1" name="itip" decimalMinimum="0" decimalMaximum="99999999999999" characterSet="[0-9]*" length="18" padChar="0" padDir="LEFT" gcpOffset="1"/>
				<field seq="2" name="serial" characterSet="[!%-?A-Z_a-z\x22]*"/>
			</option>
			<option optionKey="10" pattern="^\(8006\)([0-9]{18})\(21\)([!%-?A-Z_a-z\x22]{1,20})\b" grammar="'(8006)' indicatordigit gs1companyprefix itemrefremainder checkdigit piece total '(21)' serial">
				<field seq="1" name="itip" decimalMinimum="0" decimalMaximum="99999999999999" characterSet="[0-9]*" length="18" padChar="0" padDir="LEFT" gcpOffset="1"/>
				<field seq="2" name="serial" characterSet="[!%-?A-Z_a-z\x22]*"/>
			</option>
			<option optionKey="9" pattern="^\(8006\)([0-9]{18})\(21\)([!%-?A-Z_a-z\x22]{1,20})\b" grammar="'(8006)' indicatordigit gs1companyprefix itemrefremainder checkdigit piece total '(21)' serial">
				<field seq="1" name="itip" decimalMinimum="0" decimalMaximum="99999999999999" characterSet="[0-9]*" length="18" padChar="0" padDir="LEFT" gcpOffset="1"/>
				<field seq="2" name="serial" characterSet="[!%-?A-Z_a-z\x22]*"/>
			</option>
			<option optionKey="8" pattern="^\(8006\)([0-9]{18})\(21\)([!%-?A-Z_a-z\x22]{1,20})\b" grammar="'(8006)' indicatordigit gs1companyprefix itemrefremainder checkdigit piece total '(21)' serial">
				<field seq="1" name="itip" decimalMinimum="0" decimalMaximum="99999999999999" characterSet="[0-9]*" length="18" padChar="0" padDir="LEFT" gcpOffset="1"/>
				<field seq="2" name="serial" characterSet="[!%-?A-Z_a-z\x22]*"/>
			</option>
			<option optionKey="7" pattern="^\(8006\)([0-9]{18})\(21\)([!%-?A-Z_a-z\x22]{1,20})\b" grammar="'(8006)' indicatordigit gs1companyprefix itemrefremainder checkdigit piece total '(21)' serial">
				<field seq="1" name="itip" decimalMinimum="0" decimalMaximum="99999999999999" characterSet="[0-9]*" length="18" padChar="0" padDir="LEFT" gcpOffset="1"/>
				<field seq="2" name="serial" characterSet="[!%-?A-Z_a-z\x22]*"/>
			</option>
			<option optionKey="6" pattern="^\(8006\)([0-9]{18})\(21\)([!%-?A-Z_a-z\x22]{1,20})\b" grammar="'(8006)' indicatordigit gs1companyprefix itemrefremainder checkdigit piece total '(21)' serial">
				<field seq="1" name="itip" decimalMinimum="0" decimalMaximum="99999999999999" characterSet="[0-9]*" length="18" padChar="0" padDir="LEFT" gcpOffset="1"/>
				<field seq="2" name="serial" characterSet="[!%-?A-Z_a-z\x22]*"/>
			</option>
			<rule type="EXTRACT" inputFormat="STRING" seq="1" newFieldName="gtinprefixremainder" characterSet="[0-9]*" length="12" function="SUBSTR(itip,1,12)"/>
			<rule type="EXTRACT" inputFormat="STRING" seq="2" newFieldName="indicatordigit" characterSet="[0-9]*" length="1" function="SUBSTR(itip,0,1)"/>
			<rule type="EXTRACT" inputFormat="STRING" seq="3" newFieldName="itemrefremainder" characterSet="[0-9]*" function="SUBSTR(gtinprefixremainder,gs1companyprefixlength)"/>
			<rule type="EXTRACT" inputFormat="STRING" seq="4" newFieldName="itemref" characterSet="[0-9]*" function="CONCAT(indicatordigit,itemrefremainder)"/>
			<rule type="EXTRACT" inputFormat="STRING" seq="5" newFieldName="gs1companyprefix" characterSet="[0-9]*" function="SUBSTR(gtinprefixremainder,0,gs1companyprefixlength)"/>
			<rule type="EXTRACT" inputFormat="STRING" seq="6" newFieldName="piece" characterSet="[0-9]*" length="2" function="SUBSTR(itip,14,2)"/>
			<rule type="EXTRACT" inputFormat="STRING" seq="7" newFieldName="total" characterSet="[0-9]*" length="2" function="SUBSTR(itip,16,2)"/>
			<rule type="FORMAT" inputFormat="STRING" seq="1" newFieldName="indicatordigit" characterSet="[0-9]*" length="1" function="SUBSTR(itemref,0,1)"/>
			<rule type="FORMAT" inputFormat="STRING" seq="2" newFieldName="itemrefremainder" characterSet="[0-9]*" function="SUBSTR(itemref,1)"/>
			<rule type="FORMAT" inputFormat="STRING" seq="3" newFieldName="gtinprefix" characterSet="[0-9]*" length="13" function="CONCAT(indicatordigit,gs1companyprefix,itemrefremainder)"/>
			<rule type="FORMAT" inputFormat="STRING" seq="4" newFieldName="checkdigit" characterSet="[0-9]*" length="1" function="GS1CHECKSUM(gtinprefix)"/>
		</level>
		<level type="GS1_DIGITAL_LINK" prefixMatch="http" requiredFormattingParameters="uriStem" requiredParsingParameters="gs1companyprefixlength">
			<option optionKey="12" pattern="\/8006\/([0-9]{18})\/21\/((?:[A-Za-z0-9\x22._-]|%21|%26|%27|%28|%29|%2A|%2B|%2C|%2F|%3A|%3B|%3C|%3D|%3E|%3F|%25){1,20})\b" grammar="uriStem '/8006/' indicatordigit gs1companyprefix itemrefremainder checkdigit piece total '/21/' urlEscapedSerial">
				<field seq="1" name="itip" decimalMinimum="0" decimalMaximum="99999999999999" characterSet="[0-9]*" length="18" padChar="0" padDir="LEFT" gcpOffset="1"/>
				<field seq="2" name="urlEscapedSerial" characterSet="(?:[A-Za-z0-9\x22._-]|%21|%26|%27|%28|%29|%2A|%2B|%2C|%2F|%3A|%3B|%3C|%3D|%3E|%3F|%25)*"/>
			</option>
			<option optionKey="11" pattern="\/8006\/([0-9]{18})\/21\/((?:[A-Za-z0-9\x22._-]|%21|%26|%27|%28|%29|%2A|%2B|%2C|%2F|%3A|%3B|%3C|%3D|%3E|%3F|%25){1,20})\b" grammar="uriStem '/8006/' indicatordigit gs1companyprefix itemrefremainder checkdigit piece total '/21/' urlEscapedSerial">
				<field seq="1" name="itip" decimalMinimum="0" decimalMaximum="99999999999999" characterSet="[0-9]*" length="18" padChar="0" padDir="LEFT" gcpOffset="1"/>
				<field seq="2" name="urlEscapedSerial" characterSet="(?:[A-Za-z0-9\x22._-]|%21|%26|%27|%28|%29|%2A|%2B|%2C|%2F|%3A|%3B|%3C|%3D|%3E|%3F|%25)*"/>
			</option>
			<option optionKey="10" pattern="\/8006\/([0-9]{18})\/21\/((?:[A-Za-z0-9\x22._-]|%21|%26|%27|%28|%29|%2A|%2B|%2C|%2F|%3A|%3B|%3C|%3D|%3E|%3F|%25){1,20})\b" grammar="uriStem '/8006/' indicatordigit gs1companyprefix itemrefremainder checkdigit piece total '/21/' urlEscapedSerial">
				<field seq="1" name="itip" decimalMinimum="0" decimalMaximum="99999999999999" characterSet="[0-9]*" length="18" padChar="0" padDir="LEFT" gcpOffset="1"/>
				<field seq="2" name="urlEscapedSerial" characterSet="(?:[A-Za-z0-9\x22._-]|%21|%26|%27|%28|%29|%2A|%2B|%2C|%2F|%3A|%3B|%3C|%3D|%3E|%3F|%25)*"/>
			</option>
			<option optionKey="9" pattern="\/8006\/([0-9]{18})\/21\/((?:[A-Za-z0-9\x22._-]|%21|%26|%27|%28|%29|%2A|%2B|%2C|%2F|%3A|%3B|%3C|%3D|%3E|%3F|%25){1,20})\b" grammar="uriStem '/8006/' indicatordigit gs1companyprefix itemrefremainder checkdigit piece total '/21/' urlEscapedSerial">
				<field seq="1" name="itip" decimalMinimum="0" decimalMaximum="99999999999999" characterSet="[0-9]*" length="18" padChar="0" padDir="LEFT" gcpOffset="1"/>
				<field seq="2" name="urlEscapedSerial" characterSet="(?:[A-Za-z0-9\x22._-]|%21|%26|%27|%28|%29|%2A|%2B|%2C|%2F|%3A|%3B|%3C|%3D|%3E|%3F|%25)*"/>
			</option>
			<option optionKey="8" pattern="\/8006\/([0-9]{18})\/21\/((?:[A-Za-z0-9\x22._-]|%21|%26|%27|%28|%29|%2A|%2B|%2C|%2F|%3A|%3B|%3C|%3D|%3E|%3F|%25){1,20})\b" grammar="uriStem '/8006/' indicatordigit gs1companyprefix itemrefremainder checkdigit piece total '/21/' urlEscapedSerial">
				<field seq="1" name="itip" decimalMinimum="0" decimalMaximum="99999999999999" characterSet="[0-9]*" length="18" padChar="0" padDir="LEFT" gcpOffset="1"/>
				<field seq="2" name="urlEscapedSerial" characterSet="(?:[A-Za-z0-9\x22._-]|%21|%26|%27|%28|%29|%2A|%2B|%2C|%2F|%3A|%3B|%3C|%3D|%3E|%3F|%25)*"/>
			</option>
			<option optionKey="7" pattern="\/8006\/([0-9]{18})\/21\/((?:[A-Za-z0-9\x22._-]|%21|%26|%27|%28|%29|%2A|%2B|%2C|%2F|%3A|%3B|%3C|%3D|%3E|%3F|%25){1,20})\b" grammar="uriStem '/8006/' indicatordigit gs1companyprefix itemrefremainder checkdigit piece total '/21/' urlEscapedSerial">
				<field seq="1" name="itip" decimalMinimum="0" decimalMaximum="99999999999999" characterSet="[0-9]*" length="18" padChar="0" padDir="LEFT" gcpOffset="1"/>
				<field seq="2" name="urlEscapedSerial" characterSet="(?:[A-Za-z0-9\x22._-]|%21|%26|%27|%28|%29|%2A|%2B|%2C|%2F|%3A|%3B|%3C|%3D|%3E|%3F|%25)*"/>
			</option>
			<option optionKey="6" pattern="\/8006\/([0-9]{18})\/21\/((?:[A-Za-z0-9\x22._-]|%21|%26|%27|%28|%29|%2A|%2B|%2C|%2F|%3A|%3B|%3C|%3D|%3E|%3F|%25){1,20})\b" grammar="uriStem '/8006/' indicatordigit gs1companyprefix itemrefremainder checkdigit piece total '/21/' urlEscapedSerial">
				<field seq="1" name="itip" decimalMinimum="0" decimalMaximum="99999999999999" characterSet="[0-9]*" length="18" padChar="0" padDir="LEFT" gcpOffset="1"/>
				<field seq="2" name="urlEscapedSerial" characterSet="(?:[A-Za-z0-9\x22._-]|%21|%26|%27|%28|%29|%2A|%2B|%2C|%2F|%3A|%3B|%3C|%3D|%3E|%3F|%25)*"/>
			</option>
			<rule type="EXTRACT" inputFormat="STRING" seq="1" newFieldName="gtinprefixremainder" characterSet="[0-9]*" length="12" function="SUBSTR(itip,1,12)"/>
			<rule type="EXTRACT" inputFormat="STRING" seq="2" newFieldName="indicatordigit" characterSet="[0-9]*" length="1" function="SUBSTR(itip,0,1)"/>
			<rule type="EXTRACT" inputFormat="STRING" seq="3" newFieldName="itemrefremainder" characterSet="[0-9]*" function="SUBSTR(gtinprefixremainder,gs1companyprefixlength)"/>
			<rule type="EXTRACT" inputFormat="STRING" seq="4" newFieldName="itemref" characterSet="[0-9]*" function="CONCAT(indicatordigit,itemrefremainder)"/>
			<rule type="EXTRACT" inputFormat="STRING" seq="5" newFieldName="gs1companyprefix" characterSet="[0-9]*" function="SUBSTR(gtinprefixremainder,0,gs1companyprefixlength)"/>
			<rule type="EXTRACT" inputFormat="STRING" seq="6" newFieldName="piece" characterSet="[0-9]*" length="2" function="SUBSTR(itip,14,2)"/>
			<rule type="EXTRACT" inputFormat="STRING" seq="7" newFieldName="total" characterSet="[0-9]*" length="2" function="SUBSTR(itip,16,2)"/>
			<rule type="EXTRACT" inputFormat="STRING" seq="8" newFieldName="serial" characterSet="[!%-?A-Z_a-z\x22]*" function="URLDECODE(urlEscapedSerial)"/>
			<rule type="FORMAT" inputFormat="STRING" seq="1" newFieldName="indicatordigit" characterSet="[0-9]*" length="1" function="SUBSTR(itemref,0,1)"/>
			<rule type="FORMAT" inputFormat="STRING" seq="2" newFieldName="itemrefremainder" characterSet="[0-9]*" function="SUBSTR(itemref,1)"/>
			<rule type="FORMAT" inputFormat="STRING" seq="3" newFieldName="gtinprefix" characterSet="[0-9]*" length="13" function="CONCAT(indicatordigit,gs1companyprefix,itemrefremainder)"/>
			<rule type="FORMAT" inputFormat="STRING" seq="4" newFieldName="checkdigit" characterSet="[0-9]*" length="1" function="GS1CHECKSUM(gtinprefix)"/>
			<rule type="FORMAT" inputFormat="STRING" seq="5" newFieldName="urlEscapedSerial" characterSet="(?:[A-Za-z0-9\x22._-]|%21|%26|%27|%28|%29|%2A|%2B|%2C|%2F|%3A|%3B|%3C|%3D|%3E|%3F|%25)*" function="URLENCODE(serial)"/>
		</level>
	</scheme>
</tdt:epcTagDataTranslation>
