Such articles are light on technical details, but can give you an idea why various XML technologies are being developed. Finally, XML.org has a page devoted entirely to software-related XML projects. An interface is an abstract class that defines a set of method names, parameter types, and return types, but no actual code . API's are important for defining standard ways in which tasks like parsing XML should be done. For every API, there's one or more implementations, i.e., concrete classes, that define code for all the methods given in the interface.
Implementations typically define additional methods as well.
Use the additional methods as little as possible, if you want your code to be portable to other implementations. See Chapter 8 of the text. This is an easy interface to use, but inefficient with large files. This interface is more complex to use, but lets you avoid building a huge DOM tree to get just certain pieces of information. See Chapter 9 of the text.