From: Michael Gubanov (mgubanov@cs.washington.edu)
Date: Wed Apr 14 2004 - 11:37:52 PDT
Paper: The essence of XML, J. Simeon, P. Wadler
Summary: The paper describes a subset of XML types used in XML Schema and
defines typing and subtyping rules used for matching (static typechecking),
validation and erasure of XML Values. This represents a type system.
Finally, authors bring together unambiguity for validation, erasure and
matching
to define a criterion of (Reverse-)Roundtripping "safety".
Main Ideas:
- Description of a subset of XML types used in XML Schema including
atomic, list and union types.
Introduction of typing rules (typing derivations) for simple
and complex types (by restriction/extension)
- Type inference and static type checking of complex types is different
from standard Object Oriented languages. In XQuery it is required
to know all possible derived subtypes beforehand to typecheck
a given expression containing complex type.
In contrast, in most Object Oriented languages it is not necessary
to know all subclasses beforehand to typecheck a given class.
- Unambiguous for validation and erasure as the key criteria for safe
(Reverse-)Roundtripping.
Validation theorem defines the relationship between validation and
erasure.
Finally, corollaries describe necessary and sufficient conditions for
safe (Reverse-)Roundtripping.
- Structural subtyping rules
Flows:
- Type system safety proof?
- Typing rules and function's subtyping rules could be written shorter
and clearer using standard lambda-calculus notation
Relevance today:
Untyped (aka unvalidated or well-formed) XML document might be or be not
eligible
for safe (Reverse-)Round-tripping. It depends on the validation and
unambiguosity
of Values within it. Thus, we need validation, Validation Theorem and its
corollaries to determine and furthermore ensure safety of
(Reverse-)Round-tripping
for specific XML document and XML Schema. This is the most important
practical implication.
This archive was generated by hypermail 2.1.6 : Wed Apr 14 2004 - 11:37:58 PDT