Index: /trunk/scripts/SyncEditorLayerIndex.groovy
===================================================================
--- /trunk/scripts/SyncEditorLayerIndex.groovy	(revision 11967)
+++ /trunk/scripts/SyncEditorLayerIndex.groovy	(revision 11968)
@@ -197,8 +197,13 @@
         myprintln "*** Loaded ${eliEntries.size()} entries (ELI). ***"
     }
+    String cdata(def s) {
+        if(s =~ /[<>&]/)
+            return "<![CDATA[$s]]>"
+       return s
+    }
 
     String maininfo(def entry, String offset) {
         String res = offset + "<type>${getType(entry)}</type>\n"
-        res += offset + "<url><![CDATA[${getUrl(entry)}]]></url>\n"
+        res += offset + "<url>${cdata(getUrl(entry))}</url>\n"
         if(getType(entry) == "tms") {
             if(getMinZoom(entry) != null)
@@ -209,5 +214,4 @@
         return res
     }
-
     
     void printentries(def entries, def stream) {
@@ -221,6 +225,11 @@
             stream.write "        <name>${getName(e)}</name>\n"
             stream.write "        <id>${getId(e)}</id>\n"
-            if(getDate(e) != "")
-                stream.write "        <date>${getDate(e)}</date>\n"
+            def t
+            if((t = getDate(e)))
+                stream.write "        <date>$t</date>\n"
+            if((t = getCountryCode(e)))
+                stream.write "        <country-code>$t</country-code>\n"
+            if((t = getIcon(e)))
+                stream.write "        <icon>${cdata(t)}</icon>\n"
             stream.write maininfo(e, "        ")
             for (def m : getMirrors(e)) {
