I used XmlNavigator passing the data set instead of using the stream and filling it with ds.Xmlwrite. It took 0.141 sec to do a transform as opposed to the "messy way" in my first discussion where it took 0.051 sec. Arrgh - 2.76 times slower. Maybe I shouldn't complain about the time.