XML Syntax for Command with File I/O – Tree/Table UI Template

If you want to use XML parameter files with this component template, they must follow the XML syntax described here.

Your XML parameter files should contain <ParaNode> elements and <ParaItems> elements, as shown in the sample below.

<ParaNode name="Assembly1">
  <ParaNode name="Part1">
    <ParaItem id="1" name="length" value="12" structure="scalar"
            modified="0" mode="IN" type="integer"/>
    <ParaNode name="Feature1">
      <ParaItem id="2" name="width" value="15" structure="scalar"
              modified="1" mode="IN" type="integer"/> 
      <ParaItem id="3" name="breadth" value="18" structure="scalar"
              modified="0" mode="IN" type="integer"/>
    </ParaNode>
  </ParaNode>

  <ParaItem id="4" name="height" value="11" structure="scalar"
          modified="0" mode="IN" type="integer"/>
  <ParaItem id="5" name="depth" value="10" structure="scalar"
           modified="0" mode="IN" type="integer"/>
  
  <ParaNode name="Non-scalars">
    <ParaItem id="1" name="aggregate1" structure="aggregate"
            modified="0" mode="IN"> 
      <ParaItem id="6" name="deviation" value="0.01" structure="scalar"
              type="real"/>
      <ParaItem id="9" name="pressure" structure="array"
              dimensions="2,2" type="integer"> 
        <element idx="0,0" value="23"/>
        <element idx="0,1" value="4"/>
        <element idx="1,0" value="11"/>
        <element idx="1,1" value="290"/>
      </ParaItem>
    </ParaItem>
    <ParaItem id="11" name="scalar2" value="10" structure="scalar"
            modified="0" mode="OUT" type="real"/>
    <ParaItem id="12" name="array1" structure="array" dimensions="2,2"
            modified="0" mode="OUT" type="integer"> 
      <element idx="0,0" value="23"/>
      <element idx="0,1" value="4"/>
      <element idx="1,0" value="11"/>
      <element idx="1,1" value="290"/>
    </ParaItem>
  </ParaNode>
</ParaNode>

Your XML parameter files must conform to the following syntax rules:

  • A <ParaNode> element can have many child <ParaNode> elements.

  • A <ParaNode> element can have many child <ParaItem> elements.

  • A <ParaItem> element can have many child <ParaItem> elements only if its structure is aggregate.

  • A <ParaItem> element can have many child <element> elements only if its structure is an array.

  • All attributes except id and modified are required.

  • The mode attribute of <ParaItem> can take the following values: IN, OUT, INOUT, or LOCAL.

  • The type attribute can take the following values: string, real, integer, or boolean.

  • The modified attribute can take the following values: 0 (false), 1 (true).

  • The structure attribute can take the following values: scalar, array, or aggregate.

  • The dimensions attribute must specify array dimension sizes in a comma-separated list. For example, a four-by-six-by-three array should be specified as dimensions="4,6,3".

  • The idx attribute of an <element> element represents the index of an array element. The value must be given as a comma-separated list; for example, idx="3,5,2" for the array dimensions above (4,6,3).