XML is a markup language to write markup languages in. A markup language is any language (HTML, for example) that uses tags surrounding text to convey information such as content or format. CNXML is a language written in XML. Here is an example:
<para>
This is a paragraph in CNXML.
</para>
<para> and </para> are the tags that the enclose the text, "This is a paragraph in CNXML."
XML allows the separation of presentation from content. HTML tends to have tags such as <b> and <i>, which bold and italicize things respectively. However, if you made every title of a book underlined and then wanted to change it to italics, you would have to manually change each underline tag to an <i>. However, in XML you can make a tag called <title> and create a stylesheet, which is a separate document, that says that every <title> tag should be italicized or underlined. Then when you want to change the presentation of that type of content, you just change one small part of the stylesheet and consequently every file that uses that stylesheet. Also, if you make tags that convey the content of the document, you can enable better searching. For example, you might look for the author of a document by looking at the author tag.




