I think that
XML is a lot like Legos.
Consider Legos: with
simple building blocks that have clearly defined assembling mechanisms (i.e.,
ways of snapping the blocks together) you can create a virtually
endless variety and complexity of structures.
Consider XML: in XML
there are just two building blocks: (1) tags, and (2) data. The
assembling mechanisms of XML building blocks are very simple: (1) a tag
can embed tag(s), and (2) a tag can embed data. With these
building blocks, and these assembly mechanisms virtually any information
structure can be created.
blocks ... simple assembly mechanisms ... endless