You can create XML data streams using SAP standard methods; no problem; You can link SAP ERP to SAP PI/XI and getting an XML file via SAP PI/XI. No problem.
But why is this so "problematic" in context of Safety Data Sheet?
First we need to understand SAP EHS Management approach to create a "Safety Data Sheet". Any body knows the answer: this is done using a WWI layout together with a generation variant. The result is a WWI report (which is a RTF file). This type of document can not be used "direct" as the data sharing via XML is only possible if the XML data is valid regarding a Schema.
But is there really no option to generate the report in such a way that a "XML" document is generated which is valid regarding a Schema? Answer might be: yes there might be an option.
With EnhPack 3 the busines function OPS_EHS_CI_1 is delivered in the area of EHS. Here it is stated:
The Business Add-In BADI_ESS_REPORT_GEN enables you to use an individual implementation to generate, display, and print reports without using WWI.
I believe this option can be used to get an Safety Data Sheet as XML data stream. But there is no "default" implementation available so therefore you have to do it by your own.
What are other options? Answer: the use of an own developped output variant. Here you can select the data you want and the convert the data in such a way that you will get a XML data stream.
This is clearly a challenge as you need to develop something which works as like WWI (collect the data etc.) but it is a clear option.
As OCC is implemented as an "UserExit" (Secondary Data Determination) it is clear that you can try to develop something to support the other direction as well. That means using an XML stream and then instering/updating/deleting data in SAP EHS Management.
The use of XML to share data will clearly be the future trend. Let us hope that SAP will support us in the future with some "default" implementations or provide additional tools for data sharing.
May be check as well: these function modules (which are only available under several circumstances):