I think I understand how to setup virtual hosts in apache.
Do I point my domain to the servers ip?
Where are you thinking of pointing your domain at your server's IP from?
You have posted with very little info for me to work with so I will outline the normal procedure for getting your visitors to type in your domain name and be sent to your XAMPP server (or any hosted server) with either a fixed or dynamic IP.
You need a Domain Name Server service to serve your domain name to the Internet.
Your domain registrar needs to know the DNS service (zone file) which will send requests for your domain name to a web server
1. Register your domain name at a domain name registrar.
2. Register with a DNS service like zoneedit.com (my preferred as it's free and has email forwarding for my domain names included) or noip.com (there are others).
3. Set up your domain name at the DNS service (zoneedit.com) to point your domain to your XAMPP server's IP using the DNS service control panel. Note the nameserver addresses supplied for your domain name.
4. Set the nameserver addresses for example NS1.nameserver.tld and NS2.nameserver.tld at your domain name registrar using their control panel.
(Wait for anything from 2 to 48 hours for your domain name to propagate the DNS caches of the Internet.)
5. Set up your xampp\apache\conf\extra\httpd-vhosts.conf
file as outlined on these forums many times.
Then type your domain name in the address bar of your browser and if your XAMPP Apache server is running and listening for a connection then it will server your web site pages on request:
(tld=top level domain - .com .net .info .org etc. )