parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Sergey M. 08.05.2012 15:43 / 08.05.2012 23:54

можете заодно и такой вариант попробовать, он правда не в духе парсера но интересно будет ли работать:
$console:line[Content-Type:text/html]
$console:line[Transfer-Encoding: chunked]
$console:line[]

^__chunk[
 <!DOCTYPE html>

 <table id="Print">	
 <thead>
  <tr class="caption">
   <td>MCR
   <td colspan="2">Pbl
   <td colspan="2">Lt
   <td>&plusmn^; pct
   <td>Ld
   <td>Dr
   <td>Cr
   <td>LY
   <td>CN
   <td>Cm
   <td>Ant
   <td>Sl
   <td>Msg<br>age
 </thead>
 <tbody>
 ]
^if($mData && $mData is table){ 
 ^mData.menu{ 
  ^__chunk[
  
#     здесь код генерации строки вашей таблицы
#     можно добавить где-нибудь ^if(!(^mData.line[]%20)){^rusage[^mData.line[]_line]}

   ]
 }
}
^__chunk[</tbody></table>]
# zero-length chunk, eot
^__chunk[]
# just in case 
$response:body[]
ну и вот этот простой метод придется добавить:
@__chunk[sData][dLength]
$dLength(^sData.length[])
$console:line[^dLength.format[%X]]
$console:line[$sData]
ещё можно попробовать закрывать tr и td, хотя по спецификации вроде не обязательно, да и размер передаваемого увеличится, но браузеры при парсинге воспринимают это дело как ошибку и сами ее втихую исправляют, можете ради интереса посмотреть "View DOM source" или "View generated source" в дебаггере. Вобщем, на больших таблицах у них это может занимать время.

Я с таблицами уже лет пять дел не имею, но помнится некоторые браузеры не рендерили таблицу пока она не загружалась целиком. Надеюсь сейчас что-либо в этом плане изменилось в лучшую сторону.