Jocelyn, I checked it in our SAP system (SAPKB70211, Linux, kernel patch 220). In your simple transformation above, the enclosing root tag <Employees> is missing. If I don't add it, I get a runtime error (invalid XML result). After inserting it, the transformation works properly, also when each photo string has more than 10 KB.
Maybe, you experienced a known bug in your system? Did you do an OSS note search?
Regards,
Rüdiger
For the records: I tested with the following report (and the simple transformation above, corrected with the enclosing root tag <Employees> in the template).
report zz_test_st_employee. types: begin of ty_person, firstname type pa0002-vorna, lastname type pa0002-nachn, birthdate type pa0002-gbdat, photo type string, end of ty_person, ty_person_tab type standard table of ty_person. start-of-selection. perform start. * --- form start. data: lt_empdata type ty_person_tab, lo_xml type ref to if_ixml_document. lo_xml = cl_ixml=>create( )->create_document( ). perform fill_empdata changing lt_empdata. call transformation zz_test_empdata source empdata = lt_empdata result xml lo_xml. call function 'SDIXML_DOM_TO_SCREEN' exporting document = lo_xml. endform. "start * form fill_empdata changing et_empdata type ty_person_tab. data: ls_empdata type ty_person, lv_long type string. define _add_entry. ls_empdata-firstname = &1. ls_empdata-lastname = &2. ls_empdata-birthdate = &3. ls_empdata-photo = &4. append ls_empdata to et_empdata. end-of-definition. * Prepare a long string do 500 times. concatenate lv_long sy-abcde into lv_long. enddo. _add_entry : 'Hugo' 'Meier' '19800101' lv_long, 'Berta' 'Müller' '19810101' lv_long+1, 'Caesar' 'Lehmann' '19820101' lv_long+2, 'Dora' 'Krause' '19830101' lv_long+3. endform. "fill_empdata