Thanks to Martijn Pieters <mj@digicool.com>, I can sent out any sub-tree of an xml document now. The problem is : when toXML apply to the xmldocument root, it gives the <?xml ?> tag also. How can I prevent this? or How can I detect if it is the root so the dtml method does not insert the <? xml tag? Now, I still got the following: 1. embed the <dtml-> tags inside the xmlDocument. and make the toXML render them before making it a xml file. However, the currently dtml-var does not accept ending / or </dtml-var>, that is the problem 2. make other zope objects response to toXML which I think since we can export them in xml format, it is possible, isn't it? 3. XMLDocument does not receive utf-8 encoding correctly. 4. Zcatalogue does not like utf-8 encoding especially chinese, japanese, korean, ...