XUL is the user interface language used by Firefox. XUL is not a web technology, it is for creating desktop applications.
The basic difference between XUL and say Microsoft's XAML is that XUL uses Javascript, where as XAML uses compiled .NET libraries.
The major Open Source technology for describing a user interface in XML is libGlade. Typically you would develop in C using the GTK+ gui toolkit. The GTK+ GUI is loaded from an .xml file by libGlade.
Now, I would not recomend that road for anyone who is not familiar with C, but there is an alternative. The same can be acheived with GTK+, libGlade and PHP.
http://gtk.php.net/manual1/cs/gladeclasses.php
GTK+ itself is cross platform. I have developed apps in GTK+ for both Linux and Windows.
If you are willing to drop the .XML requirement, there is another option. wxWidgets. wxWidgets is a standard API that allows you to use the native GUI of your platform without changing your code. So, one application can transparently use the underyling GUI and thus be cross platform. The bonus is you can code in C#.
http://www.wxwidgets.org/
Of course, there is also GTK+ for .NET development or GTK#.
http://www.mono-project.com/GtkSharp
Cheers
Paul