Nifty XML Entity

<?xml version="1.0" encoding="UTF-8"?>
<nifty-controls>
<controlDefinition name="planetButtonArea">
    <!-- panel planetButtons shows the planets and a visit button to visit the selected planet -->
    <panel id="panel_planetButtons" height="85%" width="20%" childLayout="vertical" align="left"   
           backgroundImage = "Interface/purple.png" imageMode="resize:48,4,48,48,48,4,48,4,48,4,48,48">  
        <!-- panel for the title of this area -->
        <panel id="panel_planetButtonsTitle" height="8%" width="100%" valign="top" childLayout="center">  
            <text text="${stars.solarSystem}" font="Interface/fonts/28DaysLater.fnt" width="100%" height="100%"/>
            <effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect>                        
        </panel>                         
        <panel id="panel_obj1" height="8%" width="100%" valign="top" childLayout="center"
               backgroundImage = "Interface/borderdark.png" imageMode="resize:20,4,20,20,20,4,20,4,20,4,20,20">  
                <control name="button" label="${stars.sun}" id="sunButton" align="center" valign="center" visibleToMouse="true"> 
                    <interact onClick="selectPlanet(sun)" />
                </control>
                <effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect>                        
        </panel>
        <panel id="panel_obj2" height="8%" width="100%" valign="top" childLayout="center"
               backgroundImage = "Interface/borderdark.png" imageMode="resize:20,4,20,20,20,4,20,4,20,4,20,20">  
                <control name="button" label="${stars.mercury}" id="mercuryButton" align="center" valign="center" visibleToMouse="true"> 
                    <interact onClick="selectPlanet(mercury)" />
                </control>
                <effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect>                        
        </panel>

This is what the left section looks like. As you can see the code is repeating, but about 3 values differ - change in future possible, as i am learning nifty right now … :wink:
But how could i get away from a static definition like this to a loop adding me some panels in here ?
Possible ?

And here is, what a table row looks like:

that’s repeating for every object i have …
since i want to differ them, it should be represented in the gui either.

            <panel id="panel_Panel1" height="25%" width="100%" valign="top" childLayout="horizontal" backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">  
            <panel id="panel_Panel1_1" height="100%" width="5%" valign="top" childLayout="center"/>
            <panel id="panel_Panel1_2" height="100%" width="20%" valign="top" childLayout="vertical" backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">  
                <panel id="panel1_detailTitle" height="15%" width="100%" valign="top" childLayout="center"backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">   
                    <text text="${stars.sun}" font="Interface/fonts/28DaysLater15.fnt" width="100%" height="100%"><effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect></text>
                </panel>  
                <panel id="panel1_detailTitle" height="85%" width="100%" valign="top" childLayout="center"backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">                               
                    <panel id="panel1_sunPic" height="85%" width="75%" valign="center" childLayout="center"backgroundImage = "Interface/sun.jpg" />
                </panel> 
            </panel>                             
            <panel id="panel_Panel1_3" height="100%" width="20%" valign="top" childLayout="vertical" backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">  
                <panel id="panel1_posTitle" height="15%" width="100%" valign="top" childLayout="center" backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">  
                    <text text="${math.position}" font="Interface/fonts/28DaysLater15.fnt" width="100%" height="100%"><effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect></text>
                </panel> 
                <panel id="panel1_posHB" height="85%" width="100%" valign="top" childLayout="horizontal" backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">                              
                    <panel id="panel1_posVB1" height="100%" width="20%" valign="top" childLayout="vertical">                                 
                        <panel id="panel1_posXLbl" height="33%" width="100%" valign="top" childLayout="center"
                            backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">  
                            <text text="${math.x}" font="Interface/fonts/28DaysLater15.fnt" width="100%" height="100%"><effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect></text>
                        </panel> 
                        <panel id="panel1_posYLbl" height="33%" width="100%" valign="top" childLayout="center"backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">   
                            <text text="${math.y}" font="Interface/fonts/28DaysLater15.fnt" width="100%" height="100%"><effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect></text>
                        </panel>
                        <panel id="panel1_posZLbl" height="34%" width="100%" valign="top" childLayout="center"backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">  
                            <text text="${math.z}" font="Interface/fonts/28DaysLater15.fnt" width="100%" height="100%"><effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect></text>
                        </panel>
                    </panel>
                    <panel id="panel14_VB2" height="100%" width="80%" valign="top" childLayout="vertical" backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">                                 
                        <panel id="panel1_posX1" height="33%" width="100%" valign="top" childLayout="center" backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">  
                            <text text="${CALL.getValueOfObject(0,0)}" font="Interface/fonts/28DaysLater15.fnt" width="100%" height="100%"><effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect></text>
                        </panel>
                        <panel id="panel1_posY1" height="33%" width="100%" valign="top" childLayout="center"backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">   
                            <text text="${CALL.getValueOfObject(1,0)}" font="Interface/fonts/28DaysLater15.fnt" width="100%" height="100%">
                                <effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect></text>
                        </panel> 
                        <panel id="panel1_posZ1" height="34%" width="100%" valign="top" childLayout="center"backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">  
                            <text text="${CALL.getValueOfObject(2,0)}" font="Interface/fonts/28DaysLater15.fnt" width="100%" height="100%"><effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect></text>                                        
                        </panel>                                                                                     
                    </panel>
                </panel>
            </panel>
            <panel id="panel_Panel1_4" height="100%" width="20%" valign="top" childLayout="vertical" backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">    
                <panel id="panel1_velTitle" height="15%" width="100%" valign="top" childLayout="center" backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">  >  
                    <text text="${math.velocity}" font="Interface/fonts/28DaysLater15.fnt"  width="100%" height="100%"><effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect></text>
                </panel>
                <panel id="panel14_velHB" height="85%" width="100%" valign="top" childLayout="horizontal" backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">                              
                    <panel id="panel14_velVB1" height="100%" width="20%" valign="top" childLayout="vertical">
                        <panel id="panel1_velXLbl" height="33%" width="100%" valign="top" childLayout="center" backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">  
                            <text text="${math.x}" font="Interface/fonts/28DaysLater15.fnt" width="100%" height="100%"><effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect></text>
                        </panel>
                        <panel id="panel1_velYLbl" height="33%" width="100%" valign="top" childLayout="center"backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">   
                            <text text="${math.y}" font="Interface/fonts/28DaysLater15.fnt" width="100%" height="100%"><effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect></text>
                        </panel> 
                        <panel id="panel1_velZLbl" height="34%" width="100%" valign="top" childLayout="center"backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">  
                            <text text="${math.z}" font="Interface/fonts/28DaysLater15.fnt" width="100%" height="100%"><effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect></text>
                        </panel>
                    </panel>
                    <panel id="panel14_VB2" height="100%" width="80%" valign="top" childLayout="vertical" backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">                                 
                        <panel id="panel1_velX1" height="33%" width="100%" valign="top" childLayout="center" backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">  
                            <text text="${CALL.getValueOfObject(3,0)}" font="Interface/fonts/28DaysLater15.fnt" width="100%" height="100%"><effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect></text>
                        </panel> 
                        <panel id="panel1_velY1" height="33%" width="100%" valign="top" childLayout="center"backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">   
                            <text text="${CALL.getValueOfObject(4,0)}" font="Interface/fonts/28DaysLater15.fnt" width="100%" height="100%"><effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect></text>
                        </panel>
                        <panel id="panel1_velZ1" height="34%" width="100%" valign="top" childLayout="center"backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">  
                            <text text="${CALL.getValueOfObject(5,0)}" font="Interface/fonts/28DaysLater15.fnt" width="100%" height="100%"><effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect></text>
                        </panel>
                    </panel>
                </panel>
            </panel>
            <panel id="panel_Panel1_5" height="100%" width="20%" valign="top" childLayout="vertical"backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">
                <panel id="panel1_forceTitle" height="15%" width="100%" valign="top" childLayout="center">
                    <text text="${math.force}" font="Interface/fonts/28DaysLater15.fnt" width="100%" height="100%"><effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect></text>
                </panel>  
                <panel id="panel1_forceHB" height="85%" width="100%" valign="top" childLayout="horizontal"backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">
                    <panel id="panel1_forceVB1" height="100%" width="20%" valign="top" childLayout="vertical">
                        <panel id="panel1_forceXLbl" height="33%" width="100%" valign="top" childLayout="center" backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">
                            <text text="${math.x}" font="Interface/fonts/28DaysLater15.fnt" width="100%" height="100%"><effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect></text>
                        </panel>
                        <panel id="panel1_forceYLbl" height="33%" width="100%" valign="top" childLayout="center"backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">
                            <text text="${math.y}" font="Interface/fonts/28DaysLater15.fnt" width="100%" height="100%"><effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect></text>
                        </panel>
                        <panel id="panel1_forceZLbl" height="34%" width="100%" valign="top" childLayout="center"backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">
                            <text text="${math.z}" font="Interface/fonts/28DaysLater15.fnt" width="100%" height="100%"><effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect></text>
                        </panel>
                    </panel>
                    <panel id="panel4_VB2" height="100%" width="80%" valign="top" childLayout="vertical" backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">
                        <panel id="panel1_forceX1" height="33%" width="100%" valign="top" childLayout="center" backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">
                            <text text="${CALL.getValueOfObject(6,0)}" font="Interface/fonts/28DaysLater15.fnt" width="100%" height="100%"><effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect></text>                                    
                        </panel> 
                        <panel id="panel1_forceY1" height="33%" width="100%" valign="top" childLayout="center"backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">
                            <text text="${CALL.getValueOfObject(7,0)}" font="Interface/fonts/28DaysLater15.fnt" width="100%" height="100%"><effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect></text>
                        </panel>
                        <panel id="panel1_forceZ1" height="34%" width="100%" valign="top" childLayout="center"backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">  
                            <text text="${CALL.getValueOfObject(8,0)}" font="Interface/fonts/28DaysLater15.fnt" width="100%" height="100%"><effect><onStartScreen inherit="true" name="fade" length="1300" neverStopRendering="true"/></effect></text>
                        </panel>
                    </panel>
                </panel>
            </panel>
            <panel id="panel_Panel1_6" height="100%" width="15%" valign="top" childLayout="center"backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">
                <panel id="panel_Panel1_6_CEp" height="30%" width="100%" valign="top" childLayout="center"backgroundImage = "Interface/blackborder.png" imageMode="resize:15,2,15,15,15,2,15,2,15,2,15,15">
                    <control name="button" label="${buttons.details}" id="panel_Panel4_CEDetailsButton" align="center" valign="center"  visibleToMouse="true">
                        <interact onClick="showDetails(sun)" />
                    </control>
                </panel>
            </panel>
        </panel>