I think Ron and Rich are giving good advice. You list the Virgin Islands as your address, that a high salt environment. The XJ is not a marinized vehicle so corrosion of the ground terminals would be the first thing to examine but that same salt laiden air can have it fun with switches. Clean grounds and see if that fixes it but even if it does change the switches due to age.
IGNITION SWITCH & HEAD LIGHT SWITCH
I had my battery go dead and once I got a new one installed I could start and drive the XJ but no radio. I changed the ignition switch and problem solved. I had already installed the Craig H wiring upgrade listed below.
Then 2 weeks later the head light switch gave up the ghost and I was 200 miles from home and it was near twilight. Ended up changing the switch in the parking lot of the parts store, what I wanted to do with 250 miles still to go on my trip.
Figure 10-15 dollars for the headlight switch and the same price for ignition switch. I am talking about the ignition switch, not the lock cylinder, also the switch is different for tilt column vs non-tilt.
Picture of ignition switch:
http://www.rockauto.com/ref/ACDelco/Detail.html?D1404B.jpg
Picture of headlight switch:
http://www.rockauto.com/ref/ACDelco/Detail.html?C1549.jpg
I recommend you change both while you have the dash apart. You will also need to pick up at Sears a set of metric ignition wrenches. They run about $10 and come in a nice plastic bag. There are posts on how to change the switch, find a buddy who done it on a GM column before and it will easy.
On the head light switch have the parts guy show you the button you have to press to release the shaft for the handle from the switch. You will need a larger common screwdriver then to loosen the bolt thing holding the switch in place.
The question you have to ask is do you want to change the dimmer switch. The ignition switch and dimmer switch use a common bolt and the dimmer has to be removed to change the ignition switch.
GROUNDS
Also while you have the dash board lower trim off you will see a #12 black wire attached to the metal plate near the driver's floor courtesy light. That is the dash board ground so cleaning it up is a smart thing to do. Other grounds you want to clean are located on the drivers' fender near the washer bottle. I cleaned the paint off the finder with a wire brush, applied oxgard and reasembled. My headlights were brighter. There also the grounds which attach to the block using the engine oil dip stick bolt. Also do not forget the ground strap from the fire wall to the head. I found it was better once I removed the paint, make it as easy as you can for the electrons to move.
Remove and clean up the grounds but I recommend you use Ox-gard and not dielectric grease. Here is Craig H's write up on it:
http://www.olypen.com/craigh/oxgard.htm
Dielectric grease is what you use on a multipin connector. There you do not want the greast to connect all the pins but when you have a single terminal use dielectric to promote a better path.
Also read this Craig H site:
http://www.olypen.com/craigh/charge.htm It tells you how to upgrade the charging system. The part you are interested in is adding another ground cable from the NEG battery post to the chassis. I used a 18 inch #4 wire and ran it to one of the screws for the radiator cover plate. The bolt I uses is 2-4 inches inboard of the hood latch by the battery.
I think changing switches is good but try the lower cost thing first - cleaning ALL the grounds. Your problem could be as simple as a dirty ground but learn from my problem 2 years ago and change out those switches before you find yourself 200 miles from home and they fail.