Database Reference
In-Depth Information
10.2 Key problems of XML data exchange
The main tasks of XML data exchange are similar to those in relational data exchange.
Static analysis tasks, dealing with schemas and mappings only, involve consistency is-
sues and operations on mappings like composing and inverting. We discuss them in PART
FOUR . In the current part we focus on the tasks that deal also with data, that is, XML
documents. Among these the following are the most prominent ones.
Materializing target instances (solutions) . Given a source document, one needs to re-
structure it under the target schema following the rules specified by a mapping. In the
XML context, the target schema (DTD or XML schema) imposes complex conditions on
the structure of the solution. One of the consequences is that schema mappings are often
over specified . As a result of this, for some source instances there are no solutions. One
needs to be able to verify that a mapping admits a solution for a given source document
and, if it does, build one.
Query answering . Usually, schema mappings are also hugely under specified ,giving
rise to many possible choices for the target document. Nevertheless, queries should be
answered in a way that depends only on the content of the source document and not on
particular choices made when a target instance is constructed. For queries that return
sets of tuples this is guaranteed by declaring correct only these tuples that are returned
for each solution (so-called certain answers ). For queries that return XML documents,
the notion of correct answers is based on common properties of the answers returned on
all solutions.
For some mappings, the choices in the solution building process can be made in a
harmless way so that no facts are invented: the solution only satisfies properties enforced
by the dependencies in the mappings and the target schema. This guarantees correctness
of the answer returned by a query. We will see classes of mappings for which such
solutions can be obtained and queries can be answered effectively. For other classes, we
will have finite representations of all possible choices that can be examined to determine
correct answers.
Why not use relational techniques?
All of PART TWO was about developing techniques for relational data exchange. So, why
can we not just use them for XML? After all, XML documents are special relational struc-
tures, and in fact there are many ways of storing XML documents in relations.
The answer to this question is that relational and XML data exchange techniques are
largely incompatible. This is due to the fact that restrictions imposed by XML schemas and
XML source-to-target dependencies are much more complex than their relational counter-
parts, due to the more complex hierarchical structure of XML documents. Many of them
cannot even be expressed as relational calculus constraints over relational translations of
XML, making the previously developed techniques inapplicable.
That said, we can, and will make use of relational techniques. We do so in two ways.
Search WWH ::




Custom Search