I figure there might be something very wrong with my assumptions, but I couldn't find any specific explanation in the relevant SO questions I browsed, nor in other online literature. XMLInput Factory xif = XMLInput Factory(); // not sure if this is required? IS_VALIDATING, "true"); // adding dtd XMLResolver( new XMLResolver() ); XMLStream Reader reader = null; try finally Also, according to this question, you will need to use a different St AX implementation as the default doesn't support validation.