This example demonstrated how to take an XML file returned from a web service and generate a HTML table with dynamic columns based on the query fields to the web service.
We created an ASPX with an XML control which we used to view the XML document and apply the XSLT to the XML document. We modified the XML document to insert any missing expected attributes since the web service would only return an attribute if it had a value.
The XSLT built a HTML table and for each attribute that had a blank value we displayed a nobreak space. The XSLT does not need to know the attribute names or the number of attributes. This is governed in the ASPX page when we clean up the XML returned by the web service.
I hope this helps some people.