My '92 XJS Coupe had the same issue when I took it out of storage last year.
I traced the problem to a faulty brake relay (the blue type) located in the left trunk wheel well (you may have to remove the metal 'wing' in there to access it). The horn relay is located more conveniently under the hood on the passenger side (behind a small panel), and I was able to swap these relays to confirm the problem (brakes started working, but horn stopped).
I recall that I was able to 'prove' this was the problem and not the brake light switch or the lucas units by using the cruise control. If my memory is correct, a bad switch or lucas unit would also cause brake lights to fail, but it would also mean that the cruise control would not disengage automatically when the brake is hit. A short drive confirmed for me that the cruise could be disengaged by tapping the brake, so not a switch or lucas problem. Sorry I don't recall exact details but this can be checked from the wiring diagram.