Because different JRE version may have different xcerces implementation.

it turns out the org.apache.xml namespace does not exist anymore in my environment (I am using 1.7), but javax.xml namespace still works. I think the org.apache.xml is now obsolete. If we remove all usages of it then we can remove the dependency on the external JAR.