Hi Sabine.
The short answer to your question is "yes." Splitting of attribute or element character content can occur when using XMLSS to parse a single unsegmented XML string, that is without providing additional segments in response to the END-OF-INPUT XML event. That said, such splitting is quite rare in practice, because the output buffer allocated for the XMLSS parser is normally large enough compared with the XML string to be parsed.
There are two ways in which the buffer size might not be sufficient to avoid splitting. First, because there is a 64KB limit on the size of the initial buffer, splitting could occur with an XML string of several megabytes. Second, it's possible to use entity references to create a large resultant XML document from a very small input string, and thus a small allocated output buffer. The attached program splitxmp.cbl illustrates this second possibility. You can see that the entity references &b; and &c; resolve to multiple copies of the alphabet in entity a. The program is quite complicated because it also illustrates some techniques for reassembling the split content, but I think you will find it worth your time to study.
Meanwhile, Enterprise COBOL for z/OS Version 5 has introduced a facility that should make detecting splitting and then performing reassembly much easier. Quoting from the V5 summary of changes, "A new special register, XML-INFORMATION, provides a mechanism to easily determine whether the XML content delivered for an XML event is complete, or will be continued on the next event."
Further out, the COBOL team has requested that XML System Services provide the capability to reduce or avoid splitting altogether. Stay tuned!
I hope this helps. Feel free to reply if you want further information.
Nick Tindall
NickTindall