|JSON Online course|
The flexibility of XML has made it increasingly prevalent in programming environments. Unlike the Unix® world, where configuration files are usually text files with either tab-delimited name/value pairs or colon-separated fields, configuration files in the open source world are often XML documents. Most well-known application servers also use XML-based configuration files. The Ant utility relies on XML-based files for defining tasks.
A tremendous amount of data in the business world and scientific community does not use the JSON or XML format. To give you some perspective, roughly 80% to 90% of all software programs were written in either COBOL or Fortran™ in the early 1990s (and NASA scientists were still using Fortran in 2004). Therefore, data integration and migration can be a complex problem. The movement toward XML as a standard for data representation is intended to simplify the problem of exchanging data between systems. You probably already know that XML is ubiquitous in the Java world, yet you might be asking yourself one question: What's all the fuss about XML? In broad terms, XML is to data what relational theory is to databases; both provide a standardized mechanism for representing data.
A nontrivial database schema consists of a set of tables in which there is some type of parent/child (or master/detail) relationship in which data can be viewed hierarchically. An XML document also represents data in a parent/child relationship. One important difference is that database schemas can model many-to-many relationships such as the many-to-many relationships that exists between a student's entity and a class's entity. XML documents are strictly one-to-many, with a single root node. People sometimes make the analogy that XML is to data what Java is to code; both are portable, which means you avoid the problems that are inherent in proprietary systems.