This helps an application to at least partially understand the domain and adds to its flexibility. Such a set of terms is called an Ontology . So more advanced applications require a more expressive ontology language. XML itself does not have the built-in primitives to define richer term sets beyond the expressive power of DTDs. An ontology is a specification of a conceptualization.
Ontologies establish a joint terminology between members of a community of interest.
These members can be human or automated agents. To represent a conceptualization a representation language is need. However, for applications on the web it is important to have a language with a standardized syntax. Because XML emerges to be the standard language for data interchange on the web, it is desirable to also exchange ontologies using an XML syntax, thus simplifying the task of writing parsers. All of them use XML syntax, but with slightly different tag names.