the main drawback of xml processing / "xml pipelining" is the lack of any standardisation in this area.
there are already lots of implementation out there (see http://norman.walsh.name/2005/10/27/xmlProcModel) but most of them are more or less spike solutions or vendor driven island.
in my point of view the most interessting approach is XPL (http://www.w3.org/Submission/2005/SUBM-xpl-20050411/). reference implementation is available within orbeon presentation server (www.orbeon.com). not worth to take a look at.....
i wonder what does slow down the process of standardisation? main reason is that this topic is somehow underestimated. as already mentioned it covers the missing piece of the puzzel xml interop.
there are many useful xml processing standards already available:
- xslt (http://www.w3.org/Style/XSL/)
- XQuery (http://www.w3.org/TR/xquery/)
- XUpdate (http://www.smb-tec.com/xmldb/xupdate/index.html)
- DOM (http://www.w3.org/DOM/)/ SAX (http://de.wikipedia.org/wiki/Simple_API_for_XML) and corresponding implementations in several programming languages
- WSDL (http://www.w3.org/TR/wsdl)
but there is no standard describing the orchestra of these components. because each of those standards are functional components must be assambled to get a application.
thus leads to many different approaches to build up xml based applications, each of them are less more or less sufficient but non of them can be exchanged with each other or in other words non platform can extend an application developed based on a different platform.
xml pipelining can break down this limitation using same approach as unix pipes provides for bytes streams but on a higher level of abstraction (means xml provides more semantic than byte stream provides).
hopefully XProc succeed in terms of time and penetration....