All of us have heard about XML, someone even works with it every day but not everyone knows what exactly is XML. In order to clarify this situation I advise you the overview of 5 fundamental facts about XML. So let’s go through my TOP-5 list.

1. XML is a markup language NOT a programming language.
Someone can smile reading the first paragraph, but just think for a moment – almost 70% of the resumes which you receive during the hiring process contain the “programming languages” section where after Java, Spring, bla-bla you can see XML. It is ridiculous but most people do as I mentioned before. Let’s call a spade a spade.
XML was, is and will be a markup language, which is used preferably for data structuring.

2. You can create your own tags in XML.
XML, like any other technology, has its own standards and conventions. In spite of this it is possible to create your own tags, naming them as you wish. However that doesn’t mean there are no restrictions. For example, it is better to start the tag names with letters. Here is a simple example of XML document:

		7R Family

3. XML is one of the most convenient types of data transfer between applications.
There is no secret that nowadays more and more web-applications provide API for developers in order to allow other applications to interact with their application. It implies data exchange. And XML suits for this role better than everything else. Because most information can be transformed into XML (there are exceptions: multimedia for example). Furthermore, XML is a plain text so it can be easily transferred through the internet.

4. Easily perceived structure
In the previous paragraph we discussed the convenience of XML for data exchange between applications and its transfer over the internet. Certainly somebody would say that all this can be implemented with the help binary data. This is really true but XML is preferable because it is easily perceived by users. Just look at the code snippet from the paragraph #2.

5. XML has 2 types of validation.
Earlier I mentioned that XML can be interpreted as a plain text. What kind of validation is applied to the text? Supposedly that grammatical correctness would be enough but, the fact is that you need to adhere to 2 types of correctness:
Correct syntax is “Well Formed” XML (this means that XML document must have one root element, all tags must be closed, tag nesting must be proper, attribute values must be quoted).
XML which is “Well Formed” and corresponds to its DTD or XML Schema is a valid XML document.

About The Author

Mathematician, programmer, wrestler, last action hero... Java / Scala architect, trainer, entrepreneur, author of this blog

  • Jimmy

    For point 1:

    Why people put “java, spring, bla bla bla.. XML” is that you obviously cannot create section for each of your skills. If people go by that way they need to write like
    Scripting Languages: Javascript bla bla..
    Markup: HTML, XML bla bla..
    Programming: Java bla bla..
    Frameworks: Spring bla bla..

    No body really cares, better put all in a single place and name it “Technologies” or “Programming Skills” rather than “Programming languages”

  • Jimmy

    Point 3.
    I feel JSON is considered better than XML where ever possible.