Abstract:
XQA(an XML Query Algebra), as well as a intermediate functional language named FXQL(a Functional XML Query Language) for implementation of XQuery language, is introduced to support optimizing for complex XML query.Furthermore, a decorrelation method base on XQA is put forward, which helps to use efficient Join algorithms to speed up query execution by rewriting the nested XML query with Join operator.Based on an extended XDM model with list structure, the query rewriting is implemented by a program transformation on FXQL program and easy to be combined with the various optimizations for functional language.Resultsof experiments demonstrate the effect of this optimization.