First, check if they are in the same network, to do this go to your system properties and where it says the Computer Name tab on Windows XP check what workgroup its under. For vista its somewhat similar, just without the tabs. If they arent set them accordingly, if they are next step is to double check that the printer is being shared over the network. In order to check this go to your printers on your current XP machine by Start -> Control Panel -> Printers. When you are there right click on the current printer and make sure that it is being shared throughout the network. You should see a hand under the printer if it is. Next from the vista machine see if you are able to see the current computers on the network, to do this in vista just go to control panel and then network connections. Windows XP is roughly the same, but with vista you get an option for the operating system to actually map the current network, if you can see the computer on the network the next step is to download the vista available drivers for that specific printer, on the vista machine. To find these drivers, go to the manufacturer's website and download the current drivers corresponding to the printer model. Finally, when the vista drivers have been installed for the printer, simply go back to control panel on the vista machine, and continue as if you were going to add a new printer. Select that it is a network printer, find it in the current workgroup that you have selected through the desktop PC running windows xp.
At this point it should recognize it, keep in mind the other machine MUST BE ON
WHENEVER you want to print something. Hope it helps. GL
