|  |  | 
 |  |  |  | 
 |  |  |                values = L""; | 
 |  |  |                if (xutil::HasCacheData(L"object-types"))values = xutil::GetUrlData(L"object-types"); | 
 |  |  |                if (values.find(L",L" + typ + L",L") < 0) values += L",L" + typ + L",L"; | 
 |  |  |                if (values.find(L",L" + typ + L",") < 0) values += L"," + typ + L","; | 
 |  |  |                xutil::CacheUrlData(L"object-types", values); | 
 |  |  |  | 
 |  |  |                values = L""; | 
 |  |  | 
 |  |  |       xstring values = L""; | 
 |  |  |       xstring tvalue = L""; | 
 |  |  |       if (xutil::HasCacheData(L"object-types"))values = xutil::GetUrlData(L"object-types"); | 
 |  |  |       values = values.replace(L",,L", L",L"); | 
 |  |  |       values = values.replace(L",,", L","); | 
 |  |  |       trace(values); | 
 |  |  |       if (values != L"") | 
 |  |  |       { | 
 |  |  |          int len = values.length(); | 
 |  |  |          int pos = values.find(L",L", 0); | 
 |  |  |          int pos = values.find(L",", 0); | 
 |  |  |          xstring typ = L""; | 
 |  |  |          while (pos >= 0) | 
 |  |  |          { | 
 |  |  |             int pos1 = values.find(L",L", pos + 1); | 
 |  |  |             int pos1 = values.find(L",", pos + 1); | 
 |  |  |             if (pos1 < 0) break; | 
 |  |  |             typ = values.mid(pos + 1, pos1 - pos - 1); | 
 |  |  |             tvalue = L""; | 
 |  |  | 
 |  |  |       { | 
 |  |  |          KXMLDOMElement ele = nodes.item(i); | 
 |  |  |          xstring tmp = ele.getAttribute(L"name"); | 
 |  |  |          if (i < s - 1) tmp = tmp + L",L"; | 
 |  |  |          if (i < s - 1) tmp = tmp + L","; | 
 |  |  |          str += L"\t" + tmp + L"\r\n"; | 
 |  |  |       } | 
 |  |  |       //str += L"FROM " + caption; |