Hola a todos. 
 
Me hice una funcion que dado un recordSet lo transforma en un XML, de la siguiente forma:  
 Código PHP:
                    XmlTemplate.loadXML (strXMLTemplate)
                dbcRec.Save xmlObj, 1
                strXml = xmlObj.transformNode(XmlTemplate) 
    
  Donde strXMLTemplate tiene el String XSL que dara formato al Recordset. 
Vengo usando esta funcion de hace años, pero hoy intente transformar un RS en un XML , pero una y otra vez, la funcion me devolvia un XML vacio : <root></root> 
Despues de investigar por horas me di cuenta que el problema lo tiene el dato que viene en el RS. En particular un solo CARATER: 
CHR(11) 
La verdad es que una salida facil seria buscar por este caracter en la BD y limpiarlo, pero quiero hacer una solucion mas definitiva. (no se porque pero El CDATA no funciona en este caso) 
Me hice una funcion que limpia carateres extraños como el chr(11)  (que al parecer es una basura que queda cuando la gente pega texto directo desde el WORD) pero nose por donde aplicarsela en la linea en que se transforma el recordset con el XSL en la linea   dbcRec.Save xmlObj, 1 
Si alguien sabe como poder aplicar esta funcion, sin tener que recorrer el recordset uno a uno, me serviria demasiado.  
de antemano gracias.       
Parte de la funcion que transforma el recordset en XML esta aqui.  
 Código PHP:
   
    Set xmlObj = Server.CreateObject("MSXML2.DOMDocument")
    Set XmlTemplate =  Server.CreateObject("MSXML2.DOMDocument")
    strXMLTemplate = "<?xml version=""1.0""?>"
    strXMLTemplate = strXMLTemplate & "<xsl:stylesheet version=""1.0"" xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"" xmlns:z=""#RowsetSchema"" xmlns:rs=""urn:schemas-microsoft-com:rowset"">"  & vbCrLf
    strXMLTemplate = strXMLTemplate & "<xsl:output method=""xml"" indent=""yes"" omit-xml-declaration=""yes""/>"  & vbCrLf
    strXMLTemplate = strXMLTemplate & "<xsl:template match=""/"">"  & vbCrLf
    strXMLTemplate = strXMLTemplate & "<xsl:element name=""cryptic_writings"">"  & vbCrLf
    strXMLTemplate = strXMLTemplate & "<xsl:for-each select=""/xml/rs:data/z:row"">"  & vbCrLf
    strXMLTemplate = strXMLTemplate & "<xsl:element name=""reg"">"  & vbCrLf
    For xCount = 0 To dbcRec.Fields.Count - 1
    strXMLTemplate = strXMLTemplate & "<xsl:element name=""" & lcase(dbcRec(xCount).Name) & """>" & vbCrLf
    strXMLTemplate = strXMLTemplate & "<xsl:value-of select=""@" & dbcRec(xCount).Name & """/>" & vbCrLf
    strXMLTemplate = strXMLTemplate & "</xsl:element>" & vbCrLf
    Next
    strXMLTemplate = strXMLTemplate & "</xsl:element>"  & vbCrLf
    strXMLTemplate = strXMLTemplate & "</xsl:for-each>"  & vbCrLf
    strXMLTemplate = strXMLTemplate & "</xsl:element>"  & vbCrLf
    strXMLTemplate = strXMLTemplate & "</xsl:template>"  & vbCrLf
    strXMLTemplate = strXMLTemplate & "</xsl:stylesheet>"  & vbCrLf
    XmlTemplate.loadXML (strXMLTemplate)
    dbcRec.Save xmlObj, 1
    strXml = xmlObj.transformNode(XmlTemplate)
    Set XmlTemplate = Nothing
    Set xmlObj = Nothing
    dbcRec.Close