First of all refer to this XML validation in Java.
For your requirement "need to validate against a xsd and my validator should return true even if any one of the pdt is successfully validated and should also give reason why others failed"
make a custom ErrorHandler by implementing org.xml.sax.ErrorHandler interface and then register this as the errorhandler in the validator object in the given example like this :
validator.setErrorHandler(new CustomValidationErrorHandler());
Make sure you do this before calling validate() method.
In your CustomErrorHandler you can log the exceptions that you will get while validating to see what all was wrong with your xml and dont throw that exception if you want to continue with the validation. You will get it when you will start implementing this.