XML is rapidly emerging as a standard for exchanging business data on the World Wide Web. For the foreseeable future, however,
most business data will continue to be stored in relational database systems. Consequently, if XML is to fulfill its potential,
some mechanism is needed to publish relational data as XML documents. Towards that goal, one of the major challenges is finding
a way to efficiently structure and tag data from one or more tables as a hierarchical XML document. Different alternatives
are possible depending on when this processing takes place and how much of it is done inside the relational engine. In this
paper, we characterize and study the performance of these alternatives. Among other things, we explore the use of new scalar
and aggregate functions in SQL for constructing complex XML documents directly in the relational engine. We also explore different
execution plans for generating the content of an XML document. The results of an experimental study show that constructing
XML documents inside the relational engine can have a significant performance benefit. Our results also show the superiority
of having the relational engine use what we call an “outer union plan” to generate the content of an XML document.
Key words: Relational databases – XML – Publishing
Received: 15 October 2000 / Accepted: 15 April 2001 Published online: 28 June 2001