XML really describes a 'grammer' in which we can write our own Mark-up language. SGML is a markup language, and HTML is the vocabulary of a particular dialect of that language, albeit a very widely spoken dialect. Markup are the symbolic tag sets that are used to indicate that some thing needs to be done to the text. In XML and SGML it corresponds to the tags. Markup can take one of three forms, semantic, stylistic, or structural.
Semantic markup gives information about the text it is marking up eg.
Stylistic markup tells us about the style that should be used to display a document item. Structural markup tells us some thing about the structure of a document. The text that occurs until one comes across another similar tag is a paragraph and should be treated as such. It is really a document that lays down rules on how to describe a set of markup tags. HTML is its most well known product.