XML syntax

There are a few more restrictions on XML than on HTML; they make parsing of XML simpler.

Tags cannot be omitted

Unlike HTML, XML does not allow you to omit tags. This guarantees that parsers know where elements end.

The following example is acceptable HTML, but not XML:

<table>
  <tr>
    <td>Dog</td>
    <td>Cat
    <td>Mouse
</table>

To change this into well-formed XML, you need to add all the missing end tags:

<table>
  <tr>
    <td>Dog</td>
    <td>Cat</td>
    <td>Mouse</td>
  </tr>
</table>

Representing empty elements

Empty elements cannot be represented in XML in the same way they are in HTML. An empty element is one that is not used to mark up data, so in HTML, there is no end tag. There are two ways to handle empty elements:

XML is case-sensitive

XML is case-sensitive, which allows it to be used with non-Latin alphabets. You must ensure that letter case matches in start and end tags: <MyTag> and </Mytag> belong to two different elements.

White space

White space within tags in XML is unchanged by parsers.

All elements must be nested

All XML elements must be properly nested. All child elements must be closed before their parent elements close.