Skip to main content

XML Elements

An XML element is anything delimited by start and end tags or an empty-element tag in the case of empty elements.

An element can contain:

  • text
  • attributes
  • other elements
  • or a mix of the above

Each XML document contains one or more elements.


The syntax is as follows:

<element-name attribute1 attribute2> 


  • element-name is the name of the element.
  • attribute1, attribute2 are attributes of the element separated by white spaces. Each attribute defines a property of the element and it is written as name="value" where value is a string inside single '' or double "" quotes.

Syntax for Empty Element

The syntax of an elment with no content (empty element) is as follows:

<element-name attribute1 attribute2.../>

Empty elements can have attributes.


Example with some XML elements:

<?xml version = "1.0"?>
<address category="residence">
<name>Tom Nolan</name>
<company>ACME Inc.</company>
<phone>(123) 456-6789</phone>

XML Elements Rules

XML elements must follow these rules:

  • Element names are case-sensitive. For example, name, Name, NAME are different names.
  • Element names must start with a letter or underscore
  • Element names can't start with the letters xml (or XML, or Xml, etc)
  • Element names can contain letters, digits, hyphens (-), underscores (_) and periods
  • Element names cannot contain spaces
  • An element, which is a container, can contain text or elements

Naming Style

There aren't naming styles defined for XML elements. But These are some commonly used:

Lower case<firstname>All letters lower case
Upper case<FIRSTNAME>All letters upper case
Underscore<first_name>Underscore separates words
Pascal case<FirstName>Uppercase first letter in each word
Camel case<firstName>Uppercase first letter in each word except the first

It's important to be consistent with the style you choose!