Remove support for deprecated ICU definitions
authorAdam Dickmeiss <adam@indexdata.dk>
Tue, 25 Feb 2014 13:14:00 +0000 (14:14 +0100)
committerAdam Dickmeiss <adam@indexdata.dk>
Tue, 25 Feb 2014 13:14:00 +0000 (14:14 +0100)
Elements <relevance>, <sort>, <mergekey>, <facet> should be replaced
with <icu_chain id="relevance">.. etc. Fixes also PAZ-923

etc/edu_turbo.xml
src/charsets.c
src/pazpar2_config.c
test/test_icu.cfg

index 353d5d5..eb7b9e8 100644 (file)
@@ -3,29 +3,23 @@
   <timeout session="60" z3950_operation="30" z3950_session="180"/>
   <settings src="settings/edu_turbo.xml"/>
   
-  <relevance>
-    <icu_chain id="relevance" locale="en">
-      <transform rule="[:Control:] Any-Remove"/>
-      <tokenize rule="l"/>
-      <transform rule="[[:WhiteSpace:][:Punctuation:]] Remove"/>
-      <casemap rule="l"/>
-    </icu_chain>
-  </relevance>
+  <icu_chain id="relevance" locale="en">
+    <transform rule="[:Control:] Any-Remove"/>
+    <tokenize rule="l"/>
+    <transform rule="[[:WhiteSpace:][:Punctuation:]] Remove"/>
+    <casemap rule="l"/>
+  </icu_chain>
   
-  <sort>
-    <icu_chain id="sort" locale="en">
-      <transform rule="[[:Control:][:WhiteSpace:][:Punctuation:]] Remove"/>
-      <casemap rule="l"/>
-    </icu_chain>
-  </sort>
+  <icu_chain id="sort" locale="en">
+    <transform rule="[[:Control:][:WhiteSpace:][:Punctuation:]] Remove"/>
+    <casemap rule="l"/>
+  </icu_chain>
   
-  <mergekey>
-    <icu_chain id="mergekey" locale="en">
-      <tokenize rule="l"/>
-      <transform rule="[[:Control:][:WhiteSpace:][:Punctuation:]] Remove"/>
-      <casemap rule="l"/>
-    </icu_chain>
-  </mergekey>
+  <icu_chain id="mergekey" locale="en">
+    <tokenize rule="l"/>
+    <transform rule="[[:Control:][:WhiteSpace:][:Punctuation:]] Remove"/>
+    <casemap rule="l"/>
+  </icu_chain>
   
   <!-- we try to keep same order as in marc21.xsl -->
   <metadata name="id" brief="yes"/>
index 784b03c..32d5f4d 100644 (file)
@@ -203,15 +203,9 @@ pp2_charset_t pp2_charset_create_xml(xmlNode *xml_node)
 #if YAZ_HAVE_ICU
     UErrorCode status = U_ZERO_ERROR;
     struct icu_chain *chain = 0;
-    while (xml_node && xml_node->type != XML_ELEMENT_NODE)
-        xml_node = xml_node->next;
     chain = icu_chain_xml_config(xml_node, 1, &status);
-    if (!chain || U_FAILURE(status)){
-        //xmlDocPtr icu_doc = 0;
-        //xmlChar *xmlstr = 0;
-                //int size = 0;
-                //xmlDocDumpMemory(icu_doc, size);
-
+    if (!chain || U_FAILURE(status))
+    {
         yaz_log(YLOG_FATAL, "Could not parse ICU chain config:\n"
                 "<%s>\n ... \n</%s>",
                 xml_node->name, xml_node->name);
index 1aef7b4..4332397 100644 (file)
@@ -639,14 +639,9 @@ static struct conf_service *service_create_static(struct conf_server *server,
                  || !strcmp((const char *) n->name, "facet"))
 
         {
-            if (!service->charsets)
-                service->charsets = pp2_charset_fact_create();
-            if (pp2_charset_fact_define(service->charsets,
-                                        n->children, (const char *) n->name))
-            {
-                yaz_log(YLOG_FATAL, "ICU chain definition error");
-                return 0;
-            }
+            yaz_log(YLOG_FATAL, "No longer supported: <%s>", n->name);
+            yaz_log(YLOG_LOG, "Use <icu_chain id=\"%s\">.. instead", n->name);
+            return 0;
         }
         else if (!strcmp((const char *) n->name, (const char *) "metadata"))
         {
@@ -680,7 +675,7 @@ static struct conf_service *service_create_static(struct conf_server *server,
                     service->rank_cluster = 1;
                 else if (!strcmp(rank_cluster, "no"))
                     service->rank_cluster = 0;
-                else 
+                else
                 {
                     yaz_log(YLOG_FATAL, "service: rank@cluster boolean");
                     return 0;
@@ -942,14 +937,9 @@ static struct conf_server *server_create(struct conf_config *config,
                  || !strcmp((const char *) n->name, "mergekey")
                  || !strcmp((const char *) n->name, "facet"))
         {
-            if (!server->charsets)
-                server->charsets = pp2_charset_fact_create();
-            if (pp2_charset_fact_define(server->charsets,
-                                        n->children, (const char *) n->name))
-            {
-                yaz_log(YLOG_FATAL, "ICU chain definition error");
-                return 0;
-            }
+            yaz_log(YLOG_FATAL, "No longer supported: <%s>", n->name);
+            yaz_log(YLOG_LOG, "Use <icu_chain id=\"%s\">.. instead", n->name);
+            return 0;
         }
         else if (!strcmp((const char *) n->name, "service"))
         {
index 85a1b1c..b51dafa 100644 (file)
@@ -6,22 +6,18 @@
     <proxy host="localhost"/>
     <settings src="z3950_indexdata_com_marc.xml"/>
     
-    <relevance>
-      <icu_chain locale="en">
-       <transform rule="[:Control:] Any-Remove"/>
-       <tokenize rule="l"/>
-       <transform rule="[[:WhiteSpace:][:Punctuation:]] Remove"/>
-       <casemap rule="l"/>
-       <stemming rule="english" />
-      </icu_chain>
-    </relevance>
+    <icu_chain id="relevance" locale="en">
+      <transform rule="[:Control:] Any-Remove"/>
+      <tokenize rule="l"/>
+      <transform rule="[[:WhiteSpace:][:Punctuation:]] Remove"/>
+      <casemap rule="l"/>
+      <stemming rule="english" />
+    </icu_chain>
 
-    <sort>
-      <icu_chain locale="en">
-       <transform rule="[[:Control:][:WhiteSpace:][:Punctuation:]] Remove"/>
-       <casemap rule="l"/>
-      </icu_chain>
-    </sort>
+    <icu_chain id="sort" locale="en">
+      <transform rule="[[:Control:][:WhiteSpace:][:Punctuation:]] Remove"/>
+      <casemap rule="l"/>
+    </icu_chain>
     
     <icu_chain id="mergekey" locale="en">
       <tokenize rule="l"/>