Some insight about XML
1. XML is a method to place structured data in a flat text file
Structured data are those that can be organized in fields, for instance an address book, a table, a data base, a semantic network or concept map, a knowledge base, and so on. Often these data are managed in binary format, non understandable by people, rendering necessary the original program (or a similar one to decode it) to be able to access contents. XML is a tagged text format, it is, even if this is not its goal, it can be "read" and controlled by a person. XML is a set of rules, directives and conventions to design text formats for these data, so as to produce files that can be easily generated and read (by the computer) unambiguously, and that avoids traps as the lack of extensibility or internationalization.
2. XML looks a little like HTML but it is not HTML
As HTML, XML uses marks (tags) (words delimited by '<' and '>') and attributes (with the form name="value"), but while HTML specifies the meaning of every mark and attribute, and often the way it appears in the browser), XML uses tags to delimitate data elements, and leaves fully the interpretation of data to the one that reads them. In other words, if we see a "
in an XML file, it doesn't necessarily mean that it is a "bold" sign. Dependent of the context, it can be binding, a bonus and even it isn't related to a word that starts with a "b".
is a text, but it is not designed for "reading"
XML files are text files, but these are not intended to be read by people, even less than HTML files. These are text files because they enable the experts (for instance programmers, and knowledge workers) to control applications, and in an emergency use a word processor to fix an error. But the rules for an XML file are much more rigorous than for an HTML file. A forgotten tag or simply a wrongly placed quotation mark (") render the file useless. On the contrary of what happens with an HTML file, when an application find an error in an XML file, emits an error message and stops "reading" or importing.
XML is a family of technologies
There is XML 1.0, the specification that defines what are the tags and attributes and how they are, but around XML 1.0, there is also a set of optional modules that offer specific tags and attributes or directives for specific tasks. There also exist Xlink, XPointer and XFragments; CSS, the style sheet language is also applicable to XML as it is to HTML. XSL is the advanced language to style sheets. RDF (Resource Definition Framework), the standard WWW metadata, offers a grammar and syntax to enable sharing the description of resources and to ease the interoperability between applications. There are many other developments, but what results specially interesting is its derivate XML ("topic maps" or could be better "contents maps", see), specially devised for the description, navigation and exchange of associative information, just like concept maps, semantic networks, knowledge bases, frames systems, etc.
This is the specific format to exchange contents between applications that manage knowledge structures or analogous associations.
5. XML is verbose, but that is not a problem
Being XML a text format that uses tags to delimitate data, an XML file usually tends to be big. At the same time also disks have this tendency, and however there exist programs to compress these files. Even modems can also compress files on-line, as also do protocols for data transmission in the web.