sorry. I didn't answer die XSLT question.
FrameMaker opens and saves XML files with an XML Application. So it does for DITA-XML-Files as well. XML Applications are definied in structapps.fm.
There you can put in an XSLT for pre-processing (Opening XMLs in FM) and for post-processing (Saving FM-Content back to XML). And here you can do whatever you like.
But: Take care in which kind o process you are doing such manipulation. Changing hazardstatements to table has to effect Publishing process and not the editing process. So you need an XML application strategy for your Publishing Scenarios.
Hope this helps
Markus