The XInclude namespace foolishness

I was going through XInclude for my project.

The project required me to use Xerces SAX parser.

My input XML document used 2003 in the XInclude namespace ( The XInclude processor in Xerces does not support 2003 namespace but only 2001 ( apparently because this namespace is no longer recognized (this document says so). So the processor was not working as I felt it would. I tried hard the whole day trying to find a solution and did a lot of silly things (You would expect anyone to do silly things in case they don't get a solution for a long time when they expect the solution to be simple). Finally I tumbled across this FAQ and lo, it said all!!!

Here's what the recommendation says:

Please note that the namespace URI has been reverted back to the URI found in earlier drafts of XInclude. This document defines the namespace URI; the namespace URI found in the Last Call is made obsolete by this document.

Too late to realize? 🙁