Thuật toán gộp cải tiến ánh xạ XML DTD sang lược đồ quan hệ [19]. Đây là một thuật toán xuất phát từ thuật toán gộp chia sẻ nhưng hình thức của nó được cải tiến rất nhiều. Chẳng hạn, thuật toán gộp cải tiến có thể laọi bỏ sự dư thừa dữ liệu gây ra bởi những phần tử chung, có thể khắc phục những lỗi chưa được gộp chia sẻ giải quyết; thực hiện tối ưu và nâng cao hiệu quả của thuật toán.
Như định nghĩa ở chương I, XML DTD mô tả cấu trúc của tài liệu XML vvà được xem như lược đồ cho tài liệu XML. Ở đây, thuật toán gộp cải tiến cũng sử dụng DTD làm lược đồ XML trong quá trình chuyển đổi và xem các thuộc tính XML như là các phần tử XML không có cấu trúc lồng.
Xét một DTD D là một tập định nghĩa các phần tử XML {d1,d2,…,dk}. Mỗi phần tử di có dạng ni = ei, trong đó ni là tên của một phần tử XML, ei là một biểu thức DTD. Một biểu thức DTD gồm tên các phần tử XML (biểu thức DTD gốc) và các biểu thức con có sử dụng các toán tử:
- Toán tử bộ: (e1,e2,…,en) biểu diễn một bộ của các biểu thức con DTD. Toán tử bộ xác định bởi ký hiệu “,”. Đặc biệt chúng ta xem (e) là một bộ đơn duy nhất.
- Toán tử sao: e* là sự xuất hiện của không hoặc nhiều biểu thức con e.
- Toán tử cộng: e+ biểu diễn sự xuất hiện của một hoặc nhiều biểu thức con e.
- Toán tử tuỳ chọn:e? biểu diễn sự xuất hiện có chọn lựa 0 hoặc 1 biểu thức con e.
- Toán tử hoặc: (e1|e2|…|en) biểu diễn sự xuất hiện của một trong các biểu thức con e1,e2,…,en .
Định nghĩa 2.1: Một biểu thức DTD e được định nghĩa một cách đệ qui, trong đó n là hạng (range) theo tên các phần tử DTD và e1,e2,…,en là hạng của các biểu thức DTD.
e::=string|n|e+|e*|e?|(e1,e2,…,en )|(e1|e2|…|en)
Thuật toán gộp cải tiến ánh xạ dữ liệu DTD sang lược đồ quan hệ gồm 3 bước: Đơn giản hoá DTD, tạo và giản lược đồ thị DTD, sinh lược đồ quan hệ.