I think when you say having an XML page "communicate with other pages", you are talking about XSL and XSLT. XML, as I'm sure you're tired of hearing, is just a way to describe data. It doesn't in and of itself *do* anything. You can however use XSL, to do some simple branching and data formatting - (known as XSLT). Basically, the idea is that you would have one XML file with a bunch of data in it, and dynamically assign one of many XSL documents to it. Depending on the XSL file assigned, that data will be "massaged" accordingly (but... there is a limit to what you can do with XSL). Anyway, to dynamically assign that XSL file, you need some sort of middle tier. From what I can gather about what you want to do specifically, I think you're going to have to have some sort of middle tier to gather and route your requests, and data accordingly.