Implementing standard specifications have good points:
  - Relatively stable
 
  - XML is well suited to a variety of problems
 
  - The associated mindshare means the code is useful
 
Associated drawback:
  - Implementing draft standards means you will have to fix/rewrite it
 
  - Sometime the complexity is just insane (Schemas)
 
  - APIs are not part of the standard (especially in C)
 
  - Multiple specifications may conflict