From: Bhushan Mandhani (bhushan@cs.washington.edu)
Date: Wed Apr 14 2004 - 08:02:39 PDT
"The Essence of XML" - Simeon & Wadler
Review by - Bhushan Mandhani
XML Schema allows description of schema against which XML documents
can be validated. This paper describes a formalization for XML
Schema. A key feature (in which it differs from previous work) is that
it introduces pure named typing. The paper formally defines values and
types, giving grammars for them. It formally defines the ideas of
validating an external (untyped) value against a type to get an
internal (typed) value, matching a value with a type, and erasing a
value to get an untyped value. It then relates these ideas by the
Validation Theorem.
Validation attaches types to XML data using the specified
schema. Since XML is a format for data exchange, being able to
validate XML documents is important.
In Schema, a type can be be derived by restricting or extending
another type. This is analogous to subtyping and inheritance in
programming languages, and the derived type can be passed where the
base type is expected. However, when an extended type is passed, the
additional items of this type are still visible, unlike as in an OO
language. Another difference is that type checking requires knowing
all the derived types for a given type, which is not the case in OO
languages.
One important implication of the Validation Thm is that if we get an
untyped value from a typed value using erasure, and then get back a
typed value by validating the untyped value against the same type, we
get back the same value we started from, provided the type is
unambiguous for validation. This roundtripping property is important
since it means that it is fine to exchange data in the untyped
(external) format. Thus, to a large extent, Schema gives XML the
self-describing and roundtripping properties, which are desirable for
data exchange.
This archive was generated by hypermail 2.1.6 : Wed Apr 14 2004 - 08:02:41 PDT