I took code of Dineshkumar and modified to Validate my XML file correctly:
import org.apache.log4j.Logger;_x000D_
_x000D_
public class Myclass{_x000D_
_x000D_
private static final Logger LOGGER = Logger.getLogger(Myclass.class);_x000D_
_x000D_
/**_x000D_
* Validate XML file against Schemas XSD in pathEsquema directory_x000D_
* @param pathEsquema directory that contains XSD Schemas to validate_x000D_
* @param pathFileXML XML file to validate_x000D_
* @throws BusinessException if it throws any Exception_x000D_
*/_x000D_
public static void validarXML(String pathEsquema, String pathFileXML) _x000D_
throws BusinessException{ _x000D_
String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema";_x000D_
String nameFileXSD = "file.xsd";_x000D_
String MY_SCHEMA1 = pathEsquema+nameFileXSD);_x000D_
ParserErrorHandler parserErrorHandler;_x000D_
try{_x000D_
SchemaFactory schemaFactory = SchemaFactory.newInstance(W3C_XML_SCHEMA);_x000D_
_x000D_
Source [] source = { _x000D_
new StreamSource(new File(MY_SCHEMA1))_x000D_
};_x000D_
Schema schemaGrammar = schemaFactory.newSchema(source);_x000D_
_x000D_
Validator schemaValidator = schemaGrammar.newValidator();_x000D_
schemaValidator.setErrorHandler(_x000D_
parserErrorHandler= new ParserErrorHandler());_x000D_
_x000D_
/** validate xml instance against the grammar. */_x000D_
File file = new File(pathFileXML);_x000D_
InputStream isS= new FileInputStream(file);_x000D_
Reader reader = new InputStreamReader(isS,"UTF-8");_x000D_
schemaValidator.validate(new StreamSource(reader));_x000D_
_x000D_
if(parserErrorHandler.getErrorHandler().isEmpty()&& _x000D_
parserErrorHandler.getFatalErrorHandler().isEmpty()){_x000D_
if(!parserErrorHandler.getWarningHandler().isEmpty()){_x000D_
LOGGER.info(_x000D_
String.format("WARNING validate XML:[%s] Descripcion:[%s]",_x000D_
pathFileXML,parserErrorHandler.getWarningHandler()));_x000D_
}else{_x000D_
LOGGER.info(_x000D_
String.format("OK validate XML:[%s]",_x000D_
pathFileXML));_x000D_
}_x000D_
}else{_x000D_
throw new BusinessException(_x000D_
String.format("Error validate XML:[%s], FatalError:[%s], Error:[%s]",_x000D_
pathFileXML,_x000D_
parserErrorHandler.getFatalErrorHandler(),_x000D_
parserErrorHandler.getErrorHandler()));_x000D_
} _x000D_
}_x000D_
catch(SAXParseException e){_x000D_
throw new BusinessException(String.format("Error validate XML:[%s], SAXParseException:[%s]",_x000D_
pathFileXML,e.getMessage()),e);_x000D_
}_x000D_
catch (SAXException e){_x000D_
throw new BusinessException(String.format("Error validate XML:[%s], SAXException:[%s]",_x000D_
pathFileXML,e.getMessage()),e);_x000D_
}_x000D_
catch (IOException e) {_x000D_
throw new BusinessException(String.format("Error validate XML:[%s], _x000D_
IOException:[%s]",pathFileXML,e.getMessage()),e);_x000D_
}_x000D_
_x000D_
}_x000D_
_x000D_
}
_x000D_