Usually referred to as XML. This is an example of a Markup language that was developed in order to overcome some of the major problems with HTML. One problem is that HTML is not easy to extend so, for example, a mathematician or scientist looking for a markup language to display mathematics would find huge difficulties using HTML and extending it. When companies have extended it, for example the main browser vendors, there have been problems with displaying documents expressed in a browser dialect of HTML that was intended for another browser. Another problem with HTML is the fact that it does not contain facilities for indicating the structure of a document. For example, many ecommerce companies publish catalogues of products on the Web; unfortunately, HTML is unable to specify whether an entry in such a catalogue is the serial number of a product, the number in stock, or the price. XML was developed in order to overcome these and other problems. It was developed as a subset of the SGML markup language and, in 1998, became the final recommendation of the World Wide Web Consortium. XML is not strictly a markup language, but a language which can be used to define both general and special-purpose markup languages. It is a language that separates content from structure. The structure is defined in a document type definition, often referred to as a DTD. This is a document that defines the structure of an document: what tags to expect, in what order they are found, and what tags can be found within other tags. Thus a company that wishes to define a markup language would develop a DTD that could be used by anyone who employs the language. The correctness of an XML document is checked using a parser. There are two types of XML parsers: validating XML parsers and non-validating XML parsers. The former check the XML source against the DTD; the latter carry out a rudimentary validation which, for example, checks that tags are accompanied by their end tags. When a document expressed in an XML-based markup language is displayed on a browsing device the way it is displayed can be varied according to the device. For example, the display of a fragment of such a language on an electronic organizer would be different from that on a conventional browser. There have been a number of languages defined using XML: for example, the language MathML has been developed for displaying mathematics in a browser; the World Wide Web's Platform for Privacy Preferences Activity has defined a language which users can employ to define the degree to which personal details can be published to others on the Web; and the Extensible Log Format language has been developed for defining a standard format for Web log files.