If I read the XML Schema specification for default attribute values correctly, the validation process is actually supposed to change the DOM to fill the default values.
Xerces2 (Java) provides default values, however, the feature needs to be turned on in the parser.
DOMParser parser=new DOMParser();
parser.setFeature("http://apache.org/xml/features/validation/schema", true);
parser.setFeature("http://apache.org/xml/features/validation/schema/element-default", true);
The schema validation feature needs to be turned on.
Refer: Xerces Features