The something and something else are outside the definition of the Data_List table. Try this:
DEFINE VARIABLE lOK AS LOGICAL NO-UNDO.
DEFINE TEMP-TABLE DATA_LIST NO-UNDO
FIELD ELEMENT_NO1 AS CHARACTER
FIELD ELEMENT_NO2 AS CHARACTER
FIELD ELEMENT_NO3 AS CHARACTER .
Define Temp-Table A_VERY_VERY_LONG_TITLE no-undo
field SOMETHING as character
field SOMETHING_ELSE as character.
DEFINE DATASET DATA FOR DATA_LIST, A_VERY_VERY_LONG_TITLE.
lOk = DATASET DATA:READ-XML("file", /* SourceType */
"C:\xmlFile.xml", /* File */
"append", /* ReadMode */
?, /* SchemaLocation */
?, /* OverrideDefaultMapping */
?, /* FieldTypeMapping */
?). /* VerifySchemaMode */
FOR EACH DATA_LIST:
DISPLAY DATA_LIST.ELEMENT_NO1 FORMAT "x(20)"
DATA_LIST.ELEMENT_NO2 FORMAT "x(20)"
DATA_LIST.ELEMENT_NO3 FORMAT "x(20)"
WITH WIDTH 120 .
END.
For EACH A_VERY_VERY_LONG_TITLE:
DISPLAY A_VERY_VERY_LONG_TITLE.SOMETHING format "x(40)"
A_VERY_VERY_LONG_TITLE.SOMETHING_ELSE format "x(40)"
WITH WIDTH 220.
END.
It worked for me :)