XML structures


Introduction

Some functions are returning data as an XML String. The data models for each function is detailed below. Utility fuctions are used as described here
Only relevant parts are documented here since XML string returned by LINK2i functions also include XML metadata tags.

XML Data Models

Targeted IBM i Information
  • Databases Root tag
  • Database Item tag
  • IBMSN IBM i serial number
  • Name Library Name
  • Caption Library Description
Sample XML returned by ListDataBase:
<Databases>
    <Database>
        <IBMSN>ABC123</IBMSN>
        <Name>LIB1</Name>
        <Caption>LIB1 caption</Caption>
    </Database>
    <Database>
        <IBMSN>ABC123</IBMSN>
        <Name>LIB2</Name>
        <Caption>LIB2 caption</Caption>
    </Database>
    <Database>...</Database>
</Databases>

                            
  • Tables Root tag
  • Table Item tag
  • IBMSN IBM i serial number
  • DatabaseName Library Name
  • Name File / Table name
  • Caption File / Table description
Sample XML returned by ListTables:
<Tables>
    <Table>
        <IBMSN>ABC123</IBMSN>
        <DatabaseName>LIB1</DatabaseName>
        <Name>TABLE1</Name>
        <Caption>TABLE1 caption...</Caption>
    </Table>
    <Table>
        <IBMSN>ABC123</IBMSN>
        <DatabaseName>LIB1</DatabaseName>
        <Name>TABLE2</Name>
        <Caption>TABLE2 caption...</Caption>
    </Table>
    <Table>...</Table>
</Tables>

                            
  • Fields Root tag
  • Field Field item tag
  • IBMSN IBM i serial number
  • DatabaseName Database Name
  • TableName File / Table name
  • Name Field name
  • Caption File / Table description
  • KeyName Name if key field
  • KeyUnique Unique Key
  • Size Table size (fields count)
Sample XML returned by ListField:
<Fields>
    <Field>
        <IBMSN>ABC123</IBMSN>
        <DatabaseName>LIB1</DatabaseName>
        <TableName>TABLE1</TableName>
        <Name>FIELD1</Name>
        <Caption>FIELD1 caption...</Caption>
        <KeyName>FIELD1</KeyName>
        <KeyUnique>Y</KeyUnique>
        <Size>2</Size>
    </Field>
    <Field>
        <IBMSN>ABC123</IBMSN>
        <DatabaseName>LIB1</DatabaseName>
        <TableName>TABLE1</TableName>
        <Name>FIELD2</Name>
        <Caption>FIELD2 caption…</Caption>
        <KeyName></KeyName>
        <KeyUnique></KeyUnique>
        <Size>2</Size>
    </Field>
    <Field>...</Field>
</Fields>

                            
  • ObjDet Root tag
  • Controls Root tag of the control section (irrelevant for the user)
  • Control Control section (irrelevant for the user)
  • HdrControl Irrelevant for the user
  • VoidControl Irrelevant for the user
  • Items Object properties root tag
  • Item Object property (header, data & regex)
  • Header Property header
    • Type ASP.NET control type to display in WebForms app
    • Id Header Id (format "q" & index starting at 0)
    • Visible Is visible
    • Style Styling metadata
    • Text Property name
  • Data Property value
    • Type ASP.NET control type to display in WebForms app
    • Id Property Id
    • Visible ASP.NET control Visible property
    • MaxLength ASP.NET control MaxLength property
    • Style ASP.NET control Style property
    • ReadOnly ASP.NET control Display property
    • ID_DB2forI Property Id
    • Text Current property value
  • Regex Property regular expression
    • Type ASP.NET control type to display in WebForms app
    • Id Property Id (format "REV" & index starting at 0)
    • Visible ASP.NET Regex control Visible property
    • Style ASP.NET Regex control Style property
    • Display ASP.NET Regex control Display property
    • ControlToValidate Id of the control to be validated by the regex
    • ValidationExpression Regular expression of the property value in the IBM i
    • ErrorMessage ASP.NET Regex control ErrorMessage property
Sample XML returned by ObjectDetail:
<ObjDet>
    <Controls>
        <Control>
            <HdrControl>...</HdrControl>
            <VoidControl>...</VoidControl>
        </Control>
    </Controls>
    <Items>
        <Item>
            <Header Type="Label" Id="q0" Visible="True" Style="font-family:'Courier new'" Text="Library:"></Header>
            <Data Type="Textbox" Id="ODLBNM" Visible="True" MaxLength="10" Style="font-family:'Courier new'" ReadOnly="False" ID_DB2forI="ODLBNM" Text="LIB1"></Data>
            <Regex Type="RegularExpressionValidator" Id="REV0" Visible="True" Style="font-family:'Courier new'" Display="ValidatorDisplay.Dynamic" ControlToValidate="ODLBNM" ValidationExpression="[^']{1,256}" ErrorMessage="Value"></Regex>
        </Item>
        <Item>...</Item>
    </Items>
</ObjDet>

                            
Programs
  • Programs Root tag
  • Program Item tag
  • IBMSN IBM i S/N
  • DatabaseName Database/Library name
  • Name Program name
  • Caption Program description
Sample XML returned by ListPgm:
<Programs>
    <Program>
        <IBMSN>ABC123</IBMSN>
        <DatabaseName>LIB1</DatabaseName>
        <Name>PGM1</Name>
        <Caption>PGM1 description</Caption>
    </Program>
    <Program>
        <IBMSN>ABC123</IBMSN>
        <DatabaseName>LIB1</DatabaseName>
        <Name>PGM2</Name>
        <Caption>PGM2 caption...</Caption>
    </Program>
    <Program>...</Program>
</Programs>

                            
  • Sources Root tag
  • Source Item tag
  • IBMSN IBM i S/N
  • DatabaseName Database/Library name
  • Name Source file name
  • Caption Source file description
Sample XML returned by ListSrc:
<Sources>
    <Source>
        <IBMSN>ABC123</IBMSN>
        <DatabaseName>LIB1</DatabaseName>
        <Name>SRC1</Name>
        <Caption>SRC1 caption...</Caption>
    </Source>
    <Source>
        <IBMSN>ABC123</IBMSN>
        <DatabaseName>LIB1</DatabaseName>
        <Name>SRC2</Name>
        <Caption>SRC2 caption...</Caption>
    </Source>
    <Source>...</Source>
</Sources>

                            
  • Members Root tag
  • Member Item tag
  • IBMSN IBM i S/N
  • DatabaseName Database/Library name
  • SourceName Source file name
  • Name Source member name
  • Caption Source member description
Sample XML returned by ListMbr:
<Members>
    <Member>
        <IBMSN>ABC123</IBMSN>
        <DatabaseName>LIB1</DatabaseName>
        <SourceName>SRC1</SourceName>
        <Name>MBR1</Name>
        <Caption>MBR1 caption...</Caption>
    </Member>
    <Member>
        <IBMSN>ABC123</IBMSN>
        <DatabaseName>LIB1</DatabaseName>
        <SourceName>SRC1</SourceName>
        <Name>MBR2</Name>
    </Member>
    <Member>...</Member>
</Members>

                            
Database
  • StoredProcedure Root tag
  • Cursor If Cursor, start of returned result set
  • SchemaTable Field description
  • ColumnName Field name
  • ColumnOrdinal Column number
  • ColumnSize Field length
  • NumericPrecision Field length in bytes
  • NumericScale Decimal places if numeric
  • DataTypeName Field type
  • SchemaTable Field description
  • ColumnName Field name
  • ColumnOrdinal Column number
  • ColumnSize Field length
  • DataTypeName Field type
  • SchemaTable Field description
  • Record Record fields, containing XML tags named after fields
  • OUTParameters If parameters OUT or INOUT, value(s) returned
  • Parameter Parameter value
  • Parameter Parameter value
Sample XML returned by GetDataDB2fori:
<StoredProcedure>
    <Cursor>
        <SchemaTable>
            <ColumnName>ID</ColumnName>
            <ColumnOrdinal>1</ColumnOrdinal>
            <ColumnSize>9</ColumnSize>
            <NumericPrecision>9</NumericPrecision>
            <NumericScale>2</NumericScale>
            <DataTypeName>NUMERIC</DataTypeName>
        </SchemaTable>
        <SchemaTable>
            <ColumnName>ITEM</ColumnName>
            <ColumnOrdinal>2</ColumnOrdinal>
            <ColumnSize>32</ColumnSize>
            <DataTypeName>CHAR</DataTypeName>
        </SchemaTable>
        <SchemaTable></SchemaTable>
        <Record>
            <ID>000012584</ID>
            <ITEM>Front Wheel X</ITEM>
            <RATE>900</RATE>
        </Record>
        <Record>
            <ID>000012585</ID>
            <ITEM>Rear Wheel k    </ITEM>
            <RATE>900</RATE>
        </Record>
        <Record></Record>
    </Cursor>
    <OUTParameters>
        <Parameter>Rear Wheel k    </Parameter>
        <Parameter></Parameter>
    </OUTParameters>
</StoredProcedure>

                            
  • Data Root tag
  • Description Data description
  • Field Field description
  • Length Field length
  • LengthByte Field length in bytes
  • Type Field type
  • LongName Field large name
  • Header Field header
  • Decimals Decimal places if numeric
  • Caption Field description
  • Key Key field name
  • IsUsed Field used (Y/N)
  • ShortName Field short name
  • SQLQuery Submitted SQL Query
  • DataSet Data
  • NewDataSet Records root tag
  • Record Record fields, containing XML tags named after fields
Sample XML returned by GetDataDB2fori:
<Data>
    <Description>
        <Field>
            <Length>7</Length>
            <LengthByte>7</LengthByte>
            <Type>S</Type>
            <LongName>ID</LongName>
            <Header>PROD_ID</Header>
            <Decimals>0</Decimals>
            <Caption>PRODUCT ID</Caption>
            <Key>ID</Key>
            <IsUsed>Y</IsUsed>
            <ShortName>ID</ShortName>
            <SQLQuery>SELECT ID, NAME FROM LIB1.PRODUCTS</SQLQuery>
        </Field>
        <Field>
            <Length>1024</Length>
            <LengthByte>0</LengthByte>
            <Type>A</Type>
            <LongName>NAME</LongName>
            <Header>PROD_NAME</Header>
            <Decimals>0</Decimals>
            <Caption>PRODUCT NAME</Caption>
            <Key></Key>
            <IsUsed></IsUsed>
            <ShortName>NAME</ShortName>
            <SQLQuery>SELECT ID, NAME FROM LIB1.PRODUCTS</SQLQuery>
        </Field>
    </Description>
    <SQLSample>...</SQLSample>
    <DataSet>
        <NewDataSet>
            <Record>
                <ID>154</ID>
                <NAME>Small coffee table</NAME>
            </Record>
            <Record>
                <ID>155</ID>
                <NAME>Large oak table</NAME>
            </Record>
            <Record>
                <ID>156</ID>
                <NAME>Simple chair</NAME>
            </Record>
            <Record>...</Record>
        </NewDataSet>
    </DataSet>
</Data>

                            
  • FormattedData Root tag
  • Fields Record fields to display root tag
  • Field Record field data & metadata (header, data & regex)
  • Header Data label (field name)
    • Type ASP.NET control type to display in WebForms app
    • Id Header Id (format "q" & index starting at 0)
    • Visible ASP.NET control Visible property
    • Style ASP.NET control Style property
    • Text Field name (long name in the IBM i)
  • Data Field data
    • Type ASP.NET control type to display in WebForms app
    • Id Field ID
    • Visible ASP.NET control Visible property
    • MaxLength ASP.NET control MaxLength property
    • Style ASP.NET control Style property
    • ReadOnly ASP.NET control ReadOnly property, set to True if the field is a primary key
    • ID_DB2forI Field ID
    • Text Field value
  • Regex Field data regular expression
    • Type ASP.NET control type to display in WebForms app
    • Id Regex Id (format "REV" & index starting at 0)
    • Visible ASP.NET Regex control Visible property
    • Style ASP.NET Regex control Style property
    • Display ASP.NET Regex control Display property
    • ControlToValidate Id of the control to be validated by the regex
    • ValidationExpression Regular expression of the field in the IBM i
    • ErrorMessage ASP.NET Regex control ErrorMessage property, dynamically created according to the regex
Sample XML returned by Getdata:
<FormattedData>
    <Fields>
        <Field>
            <Header Type="Label" Id="q0" Visible="True" Style="font-family:'Courier new'" Text="Product ID:"></Header>
            <Data Type="Textbox" Id="ID" Visible="True" MaxLength="7" Style="font-family:'Courier new'" ReadOnly="True" ID_DB2forI="ID" Text="154"></Data>
            <Regex Type="RegularExpressionValidator" Id="REV0" Visible="True" Style="font-family:'Courier new'" Display="ValidatorDisplay.Dynamic" ControlToValidate="ID" ValidationExpression="[- ]{0,1}[0-9]{1,7}" ErrorMessage="Invalid numeric value (7 including 0)"></Regex>
        </Field>
        <Field>
            <Header Type="Label" Id="q0" Visible="True" Style="font-family:'Courier new'" Text="Product name:"></Header>
            <Data Type="Textbox" Id="NAME" Visible="True" MaxLength="1024" Style="font-family:'Courier new'" ReadOnly="True" ID_DB2forI="NAME" Text="Small coffee table"></Data>
            <Regex Type="RegularExpressionValidator" Id="REV0" Visible="True" Style="font-family:'Courier new'" Display="ValidatorDisplay.Dynamic" ControlToValidate="NAME" ValidationExpression="[^']{1,256}" ErrorMessage="Invalid input"></Regex>
        </Field>
        <Field>...</Field>
    </Fields>
</FormattedData>

                            
  • UpdateRecord Root tag
  • Controls Root tag of the control section (irrelevant for the user)
  • Control Control section (irrelevant for the user)
  • HdrControl Irrelevant for the user
  • VoidControl Irrelevant for the user
  • Fields Record fields to display root tag
  • Field Record field data & metadata (header, data & regex)
  • Header Data label (field name)
    • Type ASP.NET control type to display in WebForms app
    • Id Header Id (format "q" & index starting at 0)
    • Visible ASP.NET control Visible property
    • Style ASP.NET control Style property
    • Text Field name (long name in the IBM i)
  • Data Field data
    • Type ASP.NET control type to display in WebForms app
    • Id Field ID
    • Visible ASP.NET control Visible property
    • MaxLength ASP.NET control MaxLength property
    • Style ASP.NET control Style property
    • ReadOnly ASP.NET control ReadOnly property, set to True if the field is a primary key
    • ID_DB2forI Field ID
    • Text Field value
  • Regex Field data regular expression
    • Type ASP.NET control type to display in WebForms app
    • Id Regex Id (format "REV" & index starting at 0)
    • Visible ASP.NET Regex control Visible property
    • Style ASP.NET Regex control Style property
    • Display ASP.NET Regex control Display property
    • ControlToValidate Id of the control to be validated by the regex
    • ValidationExpression Regular expression of the field in the IBM i
    • ErrorMessage ASP.NET Regex control ErrorMessage property, dynamically created according to the regex
Sample XML returned by UpdateRecord1:
<UpdateRecord>
    <Controls>
        <Control>
            <HdrControl>...</HdrControl>
            <VoidControl>...</VoidControl>
        </Control>
    </Controls>
    <Fields>
        <Field>
            <Header Type="Label" Id="q0" Visible="True" Style="font-family:'Courier new'" Text="Product ID:"></Header>
            <Data Type="Textbox" Id="ID" Visible="True" MaxLength="7" Style="font-family:'Courier new'" ReadOnly="True" ID_DB2forI="ID" Text="154"></Data>
            <Regex Type="RegularExpressionValidator" Id="REV0" Visible="True" Style="font-family:'Courier new'" Display="ValidatorDisplay.Dynamic" ControlToValidate="ID" ValidationExpression="[- ]{0,1}[0-9]{1,7}" ErrorMessage="Invalid numeric value (7 including 0)"></Regex>
        </Field>
        <Field>
            <Header Type="Label" Id="q0" Visible="True" Style="font-family:'Courier new'" Text="Product name:"></Header>
            <Data Type="Textbox" Id="NAME" Visible="True" MaxLength="1024" Style="font-family:'Courier new'" ReadOnly="True" ID_DB2forI="NAME" Text="Small coffee table"></Data>
            <Regex Type="RegularExpressionValidator" Id="REV0" Visible="True" Style="font-family:'Courier new'" Display="ValidatorDisplay.Dynamic" ControlToValidate="NAME" ValidationExpression="[^']{1,256}" ErrorMessage="Invalid input"></Regex>
        </Field>
        <Field>...</Field>
    </Fields>
</UpdateRecord>

                            
  • CreateRecord Root tag
  • Controls Root tag of the control section (irrelevant for the user)
  • Control Control section (irrelevant for the user)
  • HdrControl Irrelevant for the user
  • VoidControl Irrelevant for the user
  • Fields Record fields to display root tag
  • Field Record field data & metadata (header, data & regex)
  • Header Data label (field name)
    • Type ASP.NET control type to display in WebForms app
    • Id Header Id (format "q" & index starting at 0)
    • Visible ASP.NET control Visible property
    • Style ASP.NET control Style property
    • Text Field name (long name in the IBM i)
  • Data Field data
    • Type ASP.NET control type to display in WebForms app
    • Id Field ID
    • Visible ASP.NET control Visible property
    • MaxLength ASP.NET control MaxLength property
    • Style ASP.NET control Style property
    • ReadOnly ASP.NET control ReadOnly property, set to True if the field is a primary key
    • ID_DB2forI Field ID
    • Text Field value
  • Regex Field data regular expression
    • Type ASP.NET control type to display in WebForms app
    • Id Regex Id (format "REV" & index starting at 0)
    • Visible ASP.NET Regex control Visible property
    • Style ASP.NET Regex control Style property
    • Display ASP.NET Regex control Display property
    • ControlToValidate Id of the control to be validated by the regex
    • ValidationExpression Regular expression of the field in the IBM i
    • ErrorMessage ASP.NET Regex control ErrorMessage property, dynamically created according to the regex
Sample XML returned by CreateRecord1:
<CreateRecord>
    <Controls>
        <Control>
            <HdrControl>...</HdrControl>
            <VoidControl>...</VoidControl>
        </Control>
    </Controls>
    <Fields>
        <Field>
            <Header Type="Label" Id="q0" Visible="True" Style="font-family:'Courier new'" Text="Product ID:"></Header>
            <Data Type="Textbox" Id="ID" Visible="True" MaxLength="7" Style="font-family:'Courier new'" ReadOnly="True" ID_DB2forI="ID" Text="154"></Data>
            <Regex Type="RegularExpressionValidator" Id="REV0" Visible="True" Style="font-family:'Courier new'" Display="ValidatorDisplay.Dynamic" ControlToValidate="ID" ValidationExpression="[- ]{0,1}[0-9]{1,7}" ErrorMessage="Invalid numeric value (7 including 0)"></Regex>
        </Field>
        <Field>
            <Header Type="Label" Id="q0" Visible="True" Style="font-family:'Courier new'" Text="Product name:"></Header>
            <Data Type="Textbox" Id="NAME" Visible="True" MaxLength="1024" Style="font-family:'Courier new'" ReadOnly="True" ID_DB2forI="NAME" Text="Small coffee table"></Data>
            <Regex Type="RegularExpressionValidator" Id="REV0" Visible="True" Style="font-family:'Courier new'" Display="ValidatorDisplay.Dynamic" ControlToValidate="NAME" ValidationExpression="[^']{1,256}" ErrorMessage="Invalid input"></Regex>
        </Field>
        <Field>...</Field>
    </Fields>
</CreateRecord>

                            
  • DeleteRecord Root tag
  • Controls Root tag of the control section (irrelevant for the user)
  • Control Control section (irrelevant for the user)
  • HdrControl Irrelevant for the user
  • VoidControl Irrelevant for the user
  • Fields Record fields to display root tag
  • Field Record field data & metadata (header, data & regex)
  • Header Data label (field name)
    • Type ASP.NET control type to display in WebForms app
    • Id Header Id (format "q" & index starting at 0)
    • Visible ASP.NET control Visible property
    • Style ASP.NET control Style property
    • Text Field name (long name in the IBM i)
  • Data Field data
    • Type ASP.NET control type to display in WebForms app
    • Id Field ID
    • Visible ASP.NET control Visible property
    • MaxLength ASP.NET control MaxLength property
    • Style ASP.NET control Style property
    • ReadOnly ASP.NET control ReadOnly property, set to True if the field is a primary key
    • ID_DB2forI Field ID
    • Text Field value
  • Regex Field data regular expression
    • Type ASP.NET control type to display in WebForms app
    • Id Regex Id (format "REV" & index starting at 0)
    • Visible ASP.NET Regex control Visible property
    • Style ASP.NET Regex control Style property
    • Display ASP.NET Regex control Display property
    • ControlToValidate Id of the control to be validated by the regex
    • ValidationExpression Regular expression of the field in the IBM i
    • ErrorMessage ASP.NET Regex control ErrorMessage property, dynamically created according to the regex
Sample XML returned by DeleteRecord1:
<DeleteRecord>
    <Controls>
        <Control>
            <HdrControl>...</HdrControl>
            <VoidControl>...</VoidControl>
        </Control>
    </Controls>
    <Fields>
        <Field>
            <Header Type="Label" Id="q0" Visible="True" Style="font-family:'Courier new'" Text="Product ID:"></Header>
            <Data Type="Textbox" Id="ID" Visible="True" MaxLength="7" Style="font-family:'Courier new'" ReadOnly="True" ID_DB2forI="ID" Text="154"></Data>
            <Regex Type="RegularExpressionValidator" Id="REV0" Visible="True" Style="font-family:'Courier new'" Display="ValidatorDisplay.Dynamic" ControlToValidate="ID" ValidationExpression="[- ]{0,1}[0-9]{1,7}" ErrorMessage="Invalid numeric value (7 including 0)"></Regex>
        </Field>
        <Field>
            <Header Type="Label" Id="q0" Visible="True" Style="font-family:'Courier new'" Text="Product name:"></Header>
            <Data Type="Textbox" Id="NAME" Visible="True" MaxLength="1024" Style="font-family:'Courier new'" ReadOnly="True" ID_DB2forI="NAME" Text="Small coffee table"></Data>
            <Regex Type="RegularExpressionValidator" Id="REV0" Visible="True" Style="font-family:'Courier new'" Display="ValidatorDisplay.Dynamic" ControlToValidate="NAME" ValidationExpression="[^']{1,256}" ErrorMessage="Invalid input"></Regex>
        </Field>
        <Field>...</Field>
    </Fields>
</DeleteRecord>

                            
  • DisplayRecord Root tag
  • Controls Root tag of the control section (irrelevant for the user)
  • Control Control section (irrelevant for the user)
  • HdrControl Irrelevant for the user
  • VoidControl Irrelevant for the user
  • Fields Record fields to display root tag
  • Field Record field data & metadata (header, data & regex)
  • Header Data label (field name)
    • Type ASP.NET control type to display in WebForms app
    • Id Header Id (format "q" & index starting at 0)
    • Visible ASP.NET control Visible property
    • Style ASP.NET control Style property
    • Text Field name (long name in the IBM i)
  • Data Field data
    • Type ASP.NET control type to display in WebForms app
    • Id Field ID
    • Visible ASP.NET control Visible property
    • MaxLength ASP.NET control MaxLength property
    • Style ASP.NET control Style property
    • ReadOnly ASP.NET control ReadOnly property, set to True if the field is a primary key
    • ID_DB2forI Field ID
    • Text Field value
  • Regex Field data regular expression
    • Type ASP.NET control type to display in WebForms app
    • Id Regex Id (format "REV" & index starting at 0)
    • Visible ASP.NET Regex control Visible property
    • Style ASP.NET Regex control Style property
    • Display ASP.NET Regex control Display property
    • ControlToValidate Id of the control to be validated by the regex
    • ValidationExpression Regular expression of the field in the IBM i
    • ErrorMessage ASP.NET Regex control ErrorMessage property, dynamically created according to the regex
Sample XML returned by DisplayRecord:
<DisplayRecord>
    <Controls>
        <Control>
            <HdrControl>...</HdrControl>
            <VoidControl>...</VoidControl>
        </Control>
    </Controls>
    <Fields>
        <Field>
            <Header Type="Label" Id="q0" Visible="True" Style="font-family:'Courier new'" Text="Product ID:"></Header>
            <Data Type="Textbox" Id="ID" Visible="True" MaxLength="7" Style="font-family:'Courier new'" ReadOnly="True" ID_DB2forI="ID" Text="154"></Data>
            <Regex Type="RegularExpressionValidator" Id="REV0" Visible="True" Style="font-family:'Courier new'" Display="ValidatorDisplay.Dynamic" ControlToValidate="ID" ValidationExpression="[- ]{0,1}[0-9]{1,7}" ErrorMessage="Invalid numeric value (7 including 0)"></Regex>
        </Field>
        <Field>
            <Header Type="Label" Id="q0" Visible="True" Style="font-family:'Courier new'" Text="Product name:"></Header>
            <Data Type="Textbox" Id="NAME" Visible="True" MaxLength="1024" Style="font-family:'Courier new'" ReadOnly="True" ID_DB2forI="NAME" Text="Small coffee table"></Data>
            <Regex Type="RegularExpressionValidator" Id="REV0" Visible="True" Style="font-family:'Courier new'" Display="ValidatorDisplay.Dynamic" ControlToValidate="NAME" ValidationExpression="[^']{1,256}" ErrorMessage="Invalid input"></Regex>
        </Field>
        <Field>...</Field>
    </Fields>
</DisplayRecord>

                            
  • UpdateRecord Root tag
  • Controls Root tag of the control section (irrelevant for the user)
  • Control Control section (irrelevant for the user)
  • HdrControl Irrelevant for the user
  • VoidControl Irrelevant for the user
  • Data Records root tag
  • Record Record data
  • Value Field data
    • Id Field ID (field short name in the IBM i)
    • Text Field value
Sample XML returned by UpdateRecord2XML:
<UpdateRecord>
    <Controls>
        <Control>
            <HdrControl>...</HdrControl>
            <VoidControl>...</VoidControl>
        </Control>
    </Controls>
    <Data>
        <Record>
            <Value Id="ID" Text="154"></Value>
            <Value Id="NAME" Text="Small coffee table"></Value>
        </Record>
        <Record>
            <Value Id="ID" Text="155"></Value>
            <Value Id="NAME" Text="Large oak table"></Value>
        </Record>
        <Record>...</Record>
    </Data>
</UpdateRecord>

                            
  • CreateRecord Root tag
  • Controls Root tag of the control section (irrelevant for the user)
  • Control Control section (irrelevant for the user)
  • HdrControl Irrelevant for the user
  • VoidControl Irrelevant for the user
  • Data Records root tag
  • Record Record data
  • Value Field data
    • Id Field ID (field short name in the IBM i)
    • Text Field value
Sample XML returned by CreateRecord2XML:
<CreateRecord>
    <Controls>
        <Control>
            <HdrControl>...</HdrControl>
            <VoidControl>...</VoidControl>
        </Control>
    </Controls>
    <Data>
        <Record>
            <Value Id="ID" Text="154"></Value>
            <Value Id="NAME" Text="Small coffee table"></Value>
        </Record>
        <Record>
            <Value Id="ID" Text="155"></Value>
            <Value Id="NAME" Text="Large oak table"></Value>
        </Record>
        <Record>...</Record>
    </Data>
</CreateRecord>

                            
  • DeleteRecord Root tag
  • Controls Root tag of the control section (irrelevant for the user)
  • Control Control section (irrelevant for the user)
  • HdrControl Irrelevant for the user
  • VoidControl Irrelevant for the user
  • Data Records root tag
  • Record Record data
  • Value Field data
    • Id Field ID (field short name in the IBM i)
    • Text Field value
Sample XML returned by DeleteRecord2XML:
<DeleteRecord>
    <Controls>
        <Control>
            <HdrControl>...</HdrControl>
            <VoidControl>...</VoidControl>
        </Control>
    </Controls>
    <Data>
        <Record>
            <Value Id="ID" Text="154"></Value>
            <Value Id="NAME" Text="Small coffee table"></Value>
        </Record>
        <Record>
            <Value Id="ID" Text="155"></Value>
            <Value Id="NAME" Text="Large oak table"></Value>
        </Record>
        <Record>...</Record>
    </Data>
</DeleteRecord>

                            
CL in .Net
  • CLCmd Root tag
    • CmdName CL command name
  • Controls Root tag of the control section
  • Control Control section
  • HdrControl Header of the
    • Type ASP.NET control type to display in WebForms app
    • Id ASP.NET control Id attribute
    • Style ASP.NET control Style attribute
    • Text CL command prompt header
  • VoidControl Irrelevant for the user
  • Prompts Prompted parameters root tag
  • Prompt Prompted parameter item
  • Header Item header
    • Type ASP.NET control type to display in WebForms app
    • Id ASP.NET control Id attribute
    • Style ASP.NET control Style attribute
    • Text Parameter caption
  • Keyword Item keyword
    • Type ASP.NET control type to display in WebForms app
    • Id ASP.NET control Id attribute
    • Style ASP.NET control Style attribute
    • Text Keyword name, empty if there is no keyword on the row
  • Value Item value
    • Type ASP.NET control type to display in WebForms app
    • Id ASP.NET control Id attribute
    • Style ASP.NET control Style attribute
    • MaxLength Parameter length
    • Text Parameter value
Sample XML returned by PromptCMD:
<CLCmd CmdName="CPYF">
    <Controls>
        <Control>
            <HdrControl Type="Label" Id="LBEntete" Style="font-family:'courier new';" Text="Copy file (CPYF)"></HdrControl>
            <VoidControl>...</VoidControl>
        </Control>
    </Controls>
    <Prompts>
        <Prompt>
            <Header Type="Label" Id="LB1W1" Style="font-family:'courier new';" Text="Origin file:"></Header>
            <Keyword Type="Label" Id="LB2W1" Style="font-family:'courier new';" Text="FROMFILE"></Keyword>
            <Value Type="TextBox" Id="TX3W1" Style="font-family:'courier new';" MaxLength="10" Text=""></Value>
        </Prompt>
        <Prompt>
            <Header Type="Label" Id="LB1W2" Style="font-family:'courier new';" Text="Library:"></Header>
            <Keyword Type="Label" Id="LB2W2" Style="font-family:'courier new';" Text=""></Keyword>
            <Value Type="TextBox" Id="TX3W2" Style="font-family:'courier new';" MaxLength="10" Text="*LIBL"></Value>
        </Prompt>
        <Prompt>
            <Header Type="Label" Id="LB1W3" Style="font-family:'courier new';" Text="Destination file:"></Header>
            <Keyword Type="Label" Id="LB2W3" Style="font-family:'courier new';" Text="TOFILE"></Keyword>
            <Value Type="TextBox" Id="TX3W3" Style="font-family:'courier new';" MaxLength="10" Text=""></Value>
        </Prompt>
        <Prompt>
            <Header Type="Label" Id="LB1W4" Style="font-family:'courier new';" Text="Library:"></Header>
            <Keyword Type="Label" Id="LB2W4" Style="font-family:'courier new';" Text=""></Keyword>
            <Value Type="TextBox" Id="TX3W4" Style="font-family:'courier new';" MaxLength="10" Text="*LIBL"></Value>
        </Prompt>
        <Prompt>...</Prompt>
    </Prompts>
</CLCmd>