Metadata and Metamodeling

Freedom in Language Design

As mentioned previously, the SGML specification was too complex, and HTML was too specialized in purpose, and the people at the WWW Consortium looked for a middle ground. SGML allowed developers to design their own markup languages with infinite possibilities while HTML, being an application of SGML, came with a predefined set of markup tags, which content developers had no choice but to use. Demands from authors led to new tags being added into the HTML specification. However, there were still limitations, while demands continued. Also, most of the new tags introduced mostly offered publishing solutions.

XML allows content developers to come up with their own set of tags. While the XML specification requires documents to be well-formed, that means documents must obey XML syntax rules completely, it still gives developers freedom on document structure and tag naming. The only restriction is that tag names need to be composed of letters, digits, hyphens, underscores, and periods. Any combinations of these are possible with the exception that the first character cannot be a digit, hyphen or period. Also, the specification requires a tree structure which brings many benefits.

Freedom in language design is a big advantage; however, it causes many different languages to be designed usually for similar purposes, and document incompatibilities arise if there is document and data exchange between systems and authors. Also, different semantics for the same language elements cause troubles mostly due to the same words used in different contexts, i.e. a tag name, address, might mean a postal address with street and city information as well as a memory or disk address with track and sector information. Namespaces have been developed to solve naming conflicts. They define domains for element types and attribute names [22].