#set ( $error = false )
<StructureXML>
#foreach ( $txt in $txts )
#set ($code_boite = $txt.critere.get(0).codeVal)
#set ($code_ede = $txt.critere.get(1).codeVal)
#set ($date_de_ponte = $txt.critere.get(3).codeVal)
#set ($code_produit = $txt.critere.get(4).codeVal)
#set ($lib_produit = $txt.critere.get(4).libVal)
#set ($lot_externe = $txt.critere.get(5).codeVal)
#set ($dcr = $txt.critere.get(6).codeVal)
#set ($ean_13 = $txt.critere.get(7).codeVal)
#set ($date_emballage = $txt.critere.get(8).codeVal)
#if (!$code_boite.matches('[0-9]{9}|[0-9]{10}'))
#set ($error = true)
#end
#if (!$code_ede.size() == 8)
#set ($error = true)
#end
#if (!$date_de_ponte.matches('20\d{2}(-|\/)((0[1-9])|(1[0-2]))(-|\/)((0[1-9])|([1-2][0-9])|(3[0-1]))'))
#set ($error = true)
#end
#if (!$code_produit.matches('[0-9]{8}.[0-9]{3}'))
#set ($error = true)
#end
#if (!$lib_produit.size() <= 35)
#set ($error = true)
#end
#if (!$lot_externe.matches('[0-9]{6}|[0-9]{12}'))
#set ($error = true)
#end
#if (!$dcr.matches('20\d{2}(-|\/)((0[1-9])|(1[0-2]))(-|\/)((0[1-9])|([1-2][0-9])|(3[0-1]))'))
#set ($error = true)
#end
#if (!$ean_13.matches('[0-9]{13}'))
#set ($error = true)
#end
#if (!$date_emballage.matches('20\d{2}(-|\/)((0[1-9])|(1[0-2]))(-|\/)((0[1-9])|([1-2][0-9])|(3[0-1]))'))
#set ($error = true)
#end
#if ($error == false)
    <ML>    
        <code_boite>$code_boite</code_boite>
        <code_ede>$code_ede</code_ede>
        <date_de_ponte>$date_de_ponte</date_de_ponte>
        <code_produit>$code_produit</code_produit>
        <lib_produit>$lib_produit</lib_produit>
        <lot_externe>$lot_externe</lot_externe>
        <dcr>$dcr</dcr>
        <ean_13>$ean_13</ean_13>
        <date_emballage>$date_emballage</date_emballage>
      </ML>
#end
#set ( $error = false )
#end
</StructureXML>