Como validar um XML com um XSD?

Eu estou usando o seguinte código para criar um Document de um arquivo XML, para poder trabalhar com ele…

    FileInputStream fis = null;

//carrego o fis

    DocumentBuilderFactory factory = null; 
    DocumentBuilder builder = null;

    try
    {
        synchronized( this )
        {
            factory = DocumentBuilderFactory.newInstance( );
            builder = factory.newDocumentBuilder( );
        }
    
        builder.setErrorHandler( this );

        m_doc = builder.parse( fis );
    } 

eu possuo um XSD para validar esse XML, esse código cria o Document para poder ler o arquivo, mas não valida pelo XSD. Até aí tudo bem, como eu faço para realizar a validação do arquivo com esse XSD?