If I recommend or mention to a business user an eCommerce solution involving EDI (Electronic Data Interchange) instead of using XML (eXtensible Markup Language), I usually lose at least some credibility. I am not really tied to EDI, but every time I look at XML for a specific business solution it ends up lacking. The primary reason that it lacks is there is a lack of standards when it comes to defining the specific data elements in a business transaction. For example, EDI has mature data definitions for things like a transaction number field for a shipment status electronic document.
XML seems to be only useful for real-time, simple transactional-level processing or for machine-to-human interface such as an RSS-type feed or web page presentation. At sometime in the future, XML may have mature data definitions that support system-to-system interfaces for different types of electronic documents. Data definition standards is something that EDI already has to support system-to-system integration. See Skip Stein’s paper, Co-existence of Traditional EDI with XML-EDI, on the purpose of XML and EDI.
XML has a lot of myths. Myths include: simple to implement, cheap to implement, easy data format, and technically superior. If you look at the business case for system-to-system data exchange between different businesses, EDI usually wins out. See Comparison Chart Between EDI and XML on the myths and the business cases in regard to implementing EDI or XML.