code: function XML_DeleteColumnElements(&$Txt, $Tag, $SpanAtt, $ColLst, $ColMax) {
  
  		$ColNum = 0;
  		$ColPos = 0;
  		$ColQty = 1;
  		$Continue = true;
  		$ModifNbr = 0;
  
  		while ($Continue && ($Loc = clsTbsXmlLoc::FindElement($Txt, $Tag, $ColPos, true)) ) {
  
  			// get colmun quantity covered by the element (1 by default)
  			if ($SpanAtt!==false) {
  				$ColQty = $Loc->GetAttLazy($SpanAtt);
  				$ColQty = ($ColQty===false) ? 1 : intval($ColQty);
  			}
  			// count column to keep
  			$KeepQty = 0;
  			for ($i=1; $i<=$ColQty ;$i++) {
  				if (array_search($ColNum+$i, $ColLst)===false) $KeepQty++;
  			}
  			if ($KeepQty==0) {
  				// delete the tag
  				$Loc->ReplaceSrc('');
  				$ModifNbr++;
  			} else {
  				if ($KeepQty!=$ColQty) {
  					// edit the attribute
  					$Loc->ReplaceAtt($SpanAtt, $KeepQty);
  					$ModifNbr++;
  				}
  				$ColPos = $Loc->PosEnd + 1;
  			}
  
  			$ColNum += $ColQty;
  			if ($ColNum>$ColMax) $Continue = false;
  		}
  
  		return $ModifNbr;
  
  	}
docs: Delete all column elements  according to their position.
  Return the number of deleted elements.