В таблице textValues ищется поле format и используется в качестве форматирующего текста для ValuedText. Затем все остальные пары <key-value> в таблице подставляются в ValuedText с помощью SetVal( self, key, value ) или SetClassVal( self, key, value ), если значение value типа string.
Если какое-либо значение value представляет собой таблицу, то считается, что в ней хранится информация для формирования нового ValuedText с помощью этого-же метода и его подстановки
Дополнительные подробности: LuaApiDetails (закрытая ссылка)
-- класс ValuedText -- семантика function SetTextValues( self, textValues ) -- параметры textValues: table - таблица с именованными полями переменных для подстановки в текст пары название поля - имя тэга <r/> в тексте, значение поля - новое текст для подстановки в соответствующий тэг. В качестве форматирующего текста используется поле format -- возвращаемые значения: нет -- примеры: local tab1 = { format = debugCommon.ToWString( [[<html>aa1 <r name="obj11"/> bb1 </html>]] ), obj11 = debugCommon.ToWString( [[<html>cc1 <r name="obj12"/> dd1 </html>]] ), obj12 = debugCommon.ToWString( [[<html>ee1 <r name="obj13"/> ff1 </html>]] ), obj13 = debugCommon.ToWString( [[gg1]] ) } local tab2 = { format = debugCommon.ToWString( [[<html>aa2 <r name="obj21"/> bb2 </html>]] ), obj21 = debugCommon.ToWString( [[<html>cc2 <r name="obj22"/> dd2 </html>]] ), obj22 = debugCommon.ToWString( [[<html>ee2 <r name="obj23"/> ff2 </html>]] ), obj23 = tab1 } VT:SetTextValues( tab2 ) -- LogInfo( VT ) -- ValuedText: [[<html>aa2 <r name="obj21"><html>cc2 <r name="obj22"><html>ee2 <r name="obj23"></r> ff2 </html></r> dd2 </html></r> bb2 </html>]] -- LogInfo( VT:ToWString() ) -- WString: [[aa2 cc2 ee2 ff2 dd2 bb2 ]]