データや条件に合わせて動的にタグを生成するには new演算子を使います。
下記はforループでnameに連番を振った例。確認用にその名前を<text>で表示しています。
(OpenLaszlo4.6.1/swf8)
<?xml version="1.0" encoding="UTF-8"?> <canvas proxied="false" bgcolor="0xeeeeee"> <handler name="oninit"><![CDATA[ for(var i=1;i<5;i++){ var v = new lz.view(canvas); v.setAttribute('name','m_'+i); v.setAttribute('width',50); v.setAttribute('height',30); v.setAttribute('bgcolor',0xff0000); var t = new lz.text(v); t.setAttribute('text',v.name); } ]]></handler> <simplelayout axis="x" spacing="5"/> </canvas>
上記コードは下記のように書いているのと同じことになります。
<?xml version="1.0" encoding="UTF-8"?> <canvas proxied="false" bgcolor="0xeeeeee"> <view name="m_1" width="50" height="30" bgcolor="0xff0000"> <text text="${parent.name}"/> </view> <view name="m_2" width="50" height="30" bgcolor="0xff0000"> <text text="${parent.name}"/> </view> <view name="m_3" width="50" height="30" bgcolor="0xff0000"> <text text="${parent.name}"/> </view> <view name="m_4" width="50" height="30" bgcolor="0xff0000"> <text text="${parent.name}"/> </view> <simplelayout axis="x" spacing="5"/> </canvas>