User View XML Rules

The rules below describe the required User View XML structure. These rules provide a lot of freedom, so you can use the same XML for other purposes.

1.The table rows should be the children of the root node.

2.The number of children in the root should be the number of rows + 1.

3.The first root child should serve as a header row, while the rest should be data rows. Use "FD" as the name of the first child.

4.The first child should contain a number of children that matches the number of columns in the User View. Each child should have an attribute named "nm", whose value is the name of the column. Any other content in these children [attributes, text, children] is allowed but it will be ignored. You may use any name for these children (for example, use “F” as the name), as long as they have the "nm" attribute.

5.The other children of the root serve as the data rows. The order of the rows in the User View is determined by the order of the children. There is no restriction on the names of the data row children.

6.Each other child (data rows) should have a number of children that is equal to (or higher than) the number of children in the header child (FD). Each child in a data row serves as the column value of that row.
The value is the text content of the child. You may define any attribute on the column value node, but these attributes will be ignored.

7.The order of the children in the data row nodes determines the column identity. The nth child of a data row matches the nth column in the header child (FD).

8.The data rows can have extra children, by these children will be ignored.

9.An empty value for a certain column in a data row is signified by an empty child (and not by a missing child).

The following code is an example XML (in variable I all special characters have been replaced with a with a backslash: ''\''):

<T nm="CategoryXML">

      <FD>

            <F nm="categoryID"/>

            <F nm="Name"/>

            <F nm="Picture"/>

            <F nm="Desc"/>

            <F nm="DOB"/>

      </FD>

      <R>

            <CID>1</CID>

            <N>test 1</N>

            <P>1</P>

            <D>Description of test 1</D>

            <DD>01/01/1973</DD>

      </R>

      <R>

            <CID>2</CID>

            <N>test 2</N>

            <P>2</P>

            <D>Description of test 2</D>

            <DD>12/31/2008</DD>

      </R>

      <R>

            <CID>3</CID>

            <N>test 3</N>

            <P>3</P>

            <D>Description of test 3</D>

            <DD>05/22/1973</DD>

      </R>

      <R>

            <CID>4</CID>

            <N>test 4</N>

            <P>4</P>

            <D>Description of test 1</D>

            <DD>04/26/1945</DD>

   </R>

</T>