The flexibility of XML allows the same data to be represented in many different ways. Some representations may be better than others in that they require less storage or have less redundancy. In this paper we define functional dependencies in XML (XFDs) and investigate their effect on the design of XML documents. We then define two subtypes of XFDs, namely partial and transitive XFDs, which cause the same problems in XML document design as the corresponding types of FDs in relations. We further show that the removal of such types of XFDs can lead to a better document design. On the basis of this, we define the concept of upward XFDs and analyze its use in maximizing the nesting levels in XML documents without introducing redundancy. We further propose guidelines to nesting elements in XML documents.
Lecture notes in computer science: Perspectives of system informatics: revised papers from the 5th International Andrei Ershov Memorial Conference (PSI 2003), Akademgorodok, Novosibirsk, Russia, 09-12 July 2003,
Vol. 2890, pp. 531-538