Found the solution to this little problem, has to do with Features.
To validate, we create a SAXParser and set the validation feature to true. However, the default for this is to use a DTD. To validate against a schema instead of a DTD, you need to set another feature. So the following code validates an XML document against a schema:
SAXParser parser = new SAXParser();
parser.setFeature( "http://xml.org/sax/features/validation" , true );
parser.setFeature( "http://apache.org/xml/features/validation/schema" , true );
This
FAQ explains what behaviors will occur when setting the validation and schema features.