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." Tags generally come in sets and always start with a < and end with a >. An opening tag will look like <tagname>. A closing tag will look like </tagname>.
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.




