Saya berkontribusi pada implementasi tipe XML di PostgreSQL dan mungkin menulis sebagian besar dokumentasi yang Anda kutip.
Ada beberapa alasan mengapa saat ini seperti ini:
- Standar SQL tidak menetapkan operator perbandingan untuk jenis
xml
. - Pada saat implementasi dimulai, Canonical XML belum banyak digunakan dan dipahami (setidaknya oleh orang-orang yang terlibat, bisa dibilang).
- Ada batasan tertentu saat kanonikalisasi XML tidak berfungsi. Meskipun ini mungkin jarang terlihat dalam praktik, ini akan menghasilkan situasi di mana beberapa nilai dari tipe data tidak dapat dibandingkan, yang akan menyebabkan masalah dengan pengindeksan misalnya. (Nilai NaN dari tipe floating-point diberikan posisi pemesanan untuk alasan yang sama.)
- Masih diperdebatkan apakah perbandingan dengan kanonikalisasi sesuai untuk semua penggunaan dan apa yang selalu diinginkan pengguna.
Implementasi fungsi kanonikalisasi XML untuk penggunaan opsional tentu akan disambut baik. Saya sebenarnya ingin melihat xmlcanonical
yang terpisah ketik, tapi itu akan sedikit lebih banyak pekerjaan.