Listing E


<!ELEMENT ResultSet (ResultSetMetaData, ResultSetData)>
 <!ELEMENT ResultSetMetaData (ColumnMetaData)+>
    <!ATTLIST ResultSetMetaData getColumnCount CDATA
     #IMPLIED>
 <!ELEMENT ColumnMetaData  EMPTY>
 <!ATTLIST ColumnMetaData
    getCatalogName CDATA #IMPLIED
    getColumnDisplaySize CDATA #IMPLIED
    getColumnLabel CDATA #IMPLIED
    getColumnName CDATA #IMPLIED
    getColumnType CDATA #REQUIRED
    getColumnTypeName CDATA #IMPLIED
    getPrecision CDATA #IMPLIED
    getScale CDATA #IMPLIED
    getSchemaName CDATA #IMPLIED
    getTablename CDATA #IMPLIED
    isAutoIncrement (true|false) #IMPLIED
    isCaseSensitive (true|false) #IMPLIED
    isCurrency (true|false) #IMPLIED
    isDefinitelyWritable (true|false) #IMPLIED
    isNullable (true|false) #IMPLIED
    isReadOnly (true|false) #IMPLIED
    isSearchable (true|false) #IMPLIED
    isSigned (true|false) #IMPLIED
    isWritable (true|false) #IMPLIED
    >
<!ELEMENT ResultSetData (Row)*>
 <!ELEMENT Row (Column)+>
 <!ELEMENT Column (#PCDATA)>
 <!ATTLIST Column
    null (true | false) "false" 
    name CDATA #IMPLIED