Summary
SGML and XML are metalanguage facilities for defining markup languages. Markup languages defined by SGML and XML declare formal features for syntax, but have no mechanisms for formally expressing semantics. SGML parsers and XML processors do not know what is meant by the natural language labels (element type names, attribute names), nor what may be implied by the instance hierarchy; they cannot therefore validate semantic notions relevant to document instances. In SGML and XML, semantics can be expressed only informally (e.g., in comments). Other languages may be used to express and validate semantic integrity constraints.