OSDN Git Service

* Changed from ``mode'' to ``-wap-input-format'' for SoftBank XHTML converter.
authorkonn <konn@1a406e8e-add9-4483-a2c8-d8cac5b7c224>
Mon, 7 Jul 2008 14:42:02 +0000 (14:42 +0000)
committerkonn <konn@1a406e8e-add9-4483-a2c8-d8cac5b7c224>
Mon, 7 Jul 2008 14:42:02 +0000 (14:42 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/modchxj/mod_chxj/branches/sandbox@2826 1a406e8e-add9-4483-a2c8-d8cac5b7c224

src/chxj_jxhtml.c
test/chxj_jxhtml/test_chxj_jxhtml.c

index a47fa04..00649f3 100644 (file)
@@ -124,6 +124,7 @@ static void  s_init_jxhtml(jxhtml_t *jxhtml, Doc *doc, request_rec *r, device_ta
 static int   s_jxhtml_search_emoji(jxhtml_t *jxhtml, char *txt, char **rslt);
 
 static char *s_jxhtml_istyle_to_mode(apr_pool_t *p, const char *s);
+static char *s_jxhtml_istyle_to_wap_input_format(apr_pool_t *p, const char *s);
 static css_prop_list_t *s_jxhtml_nopush_and_get_now_style(void *pdoc, Node *node, const char *style_attr_value);
 static css_prop_list_t *s_jxhtml_push_and_get_now_style(void *pdoc, Node *node, const char *style_attr_value);
 
@@ -1561,21 +1562,19 @@ s_jxhtml_start_input_tag(void *pdoc, Node *node)
     /* CHTML 2.0                                                              */
     /*------------------------------------------------------------------------*/
     if (type && STRCASEEQ('p','P',"password", type) && ! jxhtml->entryp->pc_flag ) {
-      W_L(" mode=\"");
-      W_L("numeric");
-      W_L("\"");
+      W_L(" style=\"-wap-input-format: &quot;*&lt;ja:n&gt;&quot;;\"");
     }
     else {
-      char *vv = s_jxhtml_istyle_to_mode(doc->buf.pool,istyle);
-      W_L(" mode=\"");
+      char *vv = s_jxhtml_istyle_to_wap_input_format(doc->buf.pool,istyle);
+      W_L(" style=\"");
+      W_L("-wap-input-format: ");
       W_V(vv);
+      W_L(";");
       W_L("\"");
     }
   }
   else if (type && STRCASEEQ('p','P',"password",type)) {
-    W_L(" mode=\"");
-    W_L("numeric");
-    W_L("\"");
+    W_L(" style=\"-wap-input-format: &quot;*&lt;ja:n&gt;&quot;;\"");
   }
   /*--------------------------------------------------------------------------*/
   /* The figure is default for the password.                                  */
@@ -2398,8 +2397,6 @@ s_jxhtml_end_div_tag(void *pdoc, Node *UNUSED(child))
 static char *
 s_jxhtml_istyle_to_mode(apr_pool_t *p, const char *s)
 {
-  char *tmp;
-
   if (s) {
     switch (s[0]) {
     case '1': return apr_psprintf(p, "hiragana");
@@ -2407,15 +2404,28 @@ s_jxhtml_istyle_to_mode(apr_pool_t *p, const char *s)
     case '3': return apr_psprintf(p, "alphabet");
     case '4': return apr_psprintf(p, "numeric");
     default: 
-      tmp = apr_palloc(p, 1);
-      tmp[0] = '\0';
-      return apr_pstrdup(p, tmp);
+      return apr_pstrdup(p, "");
+    }
+  }
+
+  return apr_pstrdup(p,"");
+}
+
+static char *
+s_jxhtml_istyle_to_wap_input_format(apr_pool_t *p, const char *s)
+{
+  if (s) {
+    switch (s[0]) {
+    case '1': return apr_psprintf(p, "&quot;*&lt;ja:h&gt;&quot;");
+    case '2': return apr_psprintf(p, "&quot;*&lt;ja:hk&gt;&quot;");
+    case '3': return apr_psprintf(p, "&quot;*&lt;ja:en&gt;&quot;");
+    case '4': return apr_psprintf(p, "&quot;*&lt;ja:n&gt;&quot;");
+    default: 
+      return apr_pstrdup(p, "");
     }
   }
 
-  tmp = apr_palloc(p, 1);
-  tmp[0] = '\0';
-  return apr_pstrdup(p,tmp);
+  return apr_pstrdup(p,"");
 }
 
 
@@ -2536,9 +2546,11 @@ s_jxhtml_start_textarea_tag(void *pdoc, Node *node)
     W_L("\"");
   }
   if (attr_istyle) {
-    char *vv = s_jxhtml_istyle_to_mode(doc->buf.pool,attr_istyle);
-    W_L(" mode=\"");
+    char *vv = s_jxhtml_istyle_to_wap_input_format(doc->buf.pool,attr_istyle);
+    W_L(" style=\"");
+    W_L("-wap-input-format: ");
     W_V(vv);
+    W_L(";");
     W_L("\"");
   }
   W_L(">");
index 565757c..4688a8f 100644 (file)
@@ -7281,7 +7281,7 @@ void test_jxhtml_input_tag_004()
 void test_jxhtml_input_tag_005() 
 {
 #define  TEST_STRING "<input type=\"password\">"
-#define  RESULT_STRING "<input type=\"password\" mode=\"numeric\" />"
+#define  RESULT_STRING "<input type=\"password\" style=\"-wap-input-format: &quot;*&lt;ja:n&gt;&quot;;\" />"
   char  *ret;
   char  *tmp;
   device_table spec;
@@ -8241,7 +8241,7 @@ void test_jxhtml_input_tag_036()
 void test_jxhtml_input_tag_037() 
 {
 #define  TEST_STRING "<input istyle=\"1\">"
-#define  RESULT_STRING "<input mode=\"hiragana\" />"
+#define  RESULT_STRING "<input style=\"-wap-input-format: &quot;*&lt;ja:h&gt;&quot;;\" />"
   char  *ret;
   char  *tmp;
   device_table spec;
@@ -8271,7 +8271,7 @@ void test_jxhtml_input_tag_037()
 void test_jxhtml_input_tag_038() 
 {
 #define  TEST_STRING "<input istyle=\"2\">"
-#define  RESULT_STRING "<input mode=\"hankakukana\" />"
+#define  RESULT_STRING "<input style=\"-wap-input-format: &quot;*&lt;ja:hk&gt;&quot;;\" />"
   char  *ret;
   char  *tmp;
   device_table spec;
@@ -8301,7 +8301,7 @@ void test_jxhtml_input_tag_038()
 void test_jxhtml_input_tag_039() 
 {
 #define  TEST_STRING "<input istyle=\"3\">"
-#define  RESULT_STRING "<input mode=\"alphabet\" />"
+#define  RESULT_STRING "<input style=\"-wap-input-format: &quot;*&lt;ja:en&gt;&quot;;\" />"
   char  *ret;
   char  *tmp;
   device_table spec;
@@ -8331,7 +8331,7 @@ void test_jxhtml_input_tag_039()
 void test_jxhtml_input_tag_040() 
 {
 #define  TEST_STRING "<input istyle=\"4\">"
-#define  RESULT_STRING "<input mode=\"numeric\" />"
+#define  RESULT_STRING "<input style=\"-wap-input-format: &quot;*&lt;ja:n&gt;&quot;;\" />"
   char  *ret;
   char  *tmp;
   device_table spec;
@@ -8421,7 +8421,7 @@ void test_jxhtml_input_tag_042()
 void test_jxhtml_input_tag_043()
 {
 #define  TEST_STRING   "<input istyle=\"1\" maxlength=\"10\">"
-#define  RESULT_STRING "<input mode=\"hiragana\" maxlength=\"10\" />"
+#define  RESULT_STRING "<input style=\"-wap-input-format: &quot;*&lt;ja:h&gt;&quot;;\" maxlength=\"10\" />"
   char  *ret;
   char  *tmp;
   device_table spec;
@@ -8451,7 +8451,7 @@ void test_jxhtml_input_tag_043()
 void test_jxhtml_input_tag_044()
 {
 #define  TEST_STRING   "<input istyle=\"2\" maxlength=\"10\">"
-#define  RESULT_STRING "<input mode=\"hankakukana\" maxlength=\"10\" />"
+#define  RESULT_STRING "<input style=\"-wap-input-format: &quot;*&lt;ja:hk&gt;&quot;;\" maxlength=\"10\" />"
   char  *ret;
   char  *tmp;
   device_table spec;
@@ -8481,7 +8481,7 @@ void test_jxhtml_input_tag_044()
 void test_jxhtml_input_tag_045()
 {
 #define  TEST_STRING   "<input istyle=\"3\" maxlength=\"10\">"
-#define  RESULT_STRING "<input mode=\"alphabet\" maxlength=\"10\" />"
+#define  RESULT_STRING "<input style=\"-wap-input-format: &quot;*&lt;ja:en&gt;&quot;;\" maxlength=\"10\" />"
   char  *ret;
   char  *tmp;
   device_table spec;
@@ -8511,7 +8511,7 @@ void test_jxhtml_input_tag_045()
 void test_jxhtml_input_tag_046()
 {
 #define  TEST_STRING "<input istyle=\"4\" maxlength=\"10\">"
-#define  RESULT_STRING "<input mode=\"numeric\" maxlength=\"10\" />"
+#define  RESULT_STRING "<input style=\"-wap-input-format: &quot;*&lt;ja:n&gt;&quot;;\" maxlength=\"10\" />"
   char  *ret;
   char  *tmp;
   device_table spec;
@@ -11736,7 +11736,7 @@ void test_jxhtml_textarea_tag_021()
 void test_jxhtml_textarea_tag_022() 
 {
 #define  TEST_STRING "<textarea istyle=\"1\"></textarea>"
-#define  RESULT_STRING "<textarea mode=\"hiragana\"></textarea>"
+#define  RESULT_STRING "<textarea style=\"-wap-input-format: &quot;*&lt;ja:h&gt;&quot;;\"></textarea>"
   char  *ret;
   char  *tmp;
   device_table spec;
@@ -11766,7 +11766,7 @@ void test_jxhtml_textarea_tag_022()
 void test_jxhtml_textarea_tag_023() 
 {
 #define  TEST_STRING "<textarea istyle=\"2\"></textarea>"
-#define  RESULT_STRING "<textarea mode=\"hankakukana\"></textarea>"
+#define  RESULT_STRING "<textarea style=\"-wap-input-format: &quot;*&lt;ja:hk&gt;&quot;;\"></textarea>"
   char  *ret;
   char  *tmp;
   device_table spec;
@@ -11796,7 +11796,7 @@ void test_jxhtml_textarea_tag_023()
 void test_jxhtml_textarea_tag_024() 
 {
 #define  TEST_STRING "<textarea istyle=\"3\"></textarea>"
-#define  RESULT_STRING "<textarea mode=\"alphabet\"></textarea>"
+#define  RESULT_STRING "<textarea style=\"-wap-input-format: &quot;*&lt;ja:en&gt;&quot;;\"></textarea>"
   char  *ret;
   char  *tmp;
   device_table spec;
@@ -11826,7 +11826,7 @@ void test_jxhtml_textarea_tag_024()
 void test_jxhtml_textarea_tag_025() 
 {
 #define  TEST_STRING "<textarea istyle=\"4\"></textarea>"
-#define  RESULT_STRING "<textarea mode=\"numeric\"></textarea>"
+#define  RESULT_STRING "<textarea style=\"-wap-input-format: &quot;*&lt;ja:n&gt;&quot;;\"></textarea>"
   char  *ret;
   char  *tmp;
   device_table spec;
@@ -14411,7 +14411,7 @@ void test_jxhtml_textarea_tag_with_css_001()
 {
 #define  TEST_STRING "<html><head><link rel=\"stylesheet\" href=\"http://localhost/a.css\"  type=\"text/css\" />" \
                      "</head><body><textarea></textarea></body></html>"
-#define  RESULT_STRING "<?xml version='1.0' encoding='Shift_JIS' ?><!DOCTYPE html PUBLIC \"-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN\" \"html-basic10-plus.dtd\"><html><head></head><body><div><textarea mode=\"hiragana\"></textarea></div></body></html>"
+#define  RESULT_STRING "<?xml version='1.0' encoding='Shift_JIS' ?><!DOCTYPE html PUBLIC \"-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN\" \"html-basic10-plus.dtd\"><html><head></head><body><div><textarea style=\"-wap-input-format: &quot;*&lt;ja:h&gt;&quot;;\"></textarea></div></body></html>"
   char  *ret;
   char  *tmp;
   device_table spec;
@@ -14456,7 +14456,7 @@ void test_jxhtml_textarea_tag_with_css_002()
 {
 #define  TEST_STRING "<html><head><link rel=\"stylesheet\" href=\"http://localhost/a.css\"  type=\"text/css\" />" \
                      "</head><body><textarea></textarea></body></html>"
-#define  RESULT_STRING "<?xml version='1.0' encoding='Shift_JIS' ?><!DOCTYPE html PUBLIC \"-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN\" \"html-basic10-plus.dtd\"><html><head></head><body><div><textarea mode=\"hankakukana\"></textarea></div></body></html>"
+#define  RESULT_STRING "<?xml version='1.0' encoding='Shift_JIS' ?><!DOCTYPE html PUBLIC \"-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN\" \"html-basic10-plus.dtd\"><html><head></head><body><div><textarea style=\"-wap-input-format: &quot;*&lt;ja:hk&gt;&quot;;\"></textarea></div></body></html>"
   char  *ret;
   char  *tmp;
   device_table spec;
@@ -14504,7 +14504,7 @@ void test_jxhtml_textarea_tag_with_css_003()
 {
 #define  TEST_STRING "<html><head><link rel=\"stylesheet\" href=\"http://localhost/a.css\"  type=\"text/css\" />" \
                      "</head><body><textarea></textarea></body></html>"
-#define  RESULT_STRING "<?xml version='1.0' encoding='Shift_JIS' ?><!DOCTYPE html PUBLIC \"-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN\" \"html-basic10-plus.dtd\"><html><head></head><body><div><textarea mode=\"alphabet\"></textarea></div></body></html>"
+#define  RESULT_STRING "<?xml version='1.0' encoding='Shift_JIS' ?><!DOCTYPE html PUBLIC \"-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN\" \"html-basic10-plus.dtd\"><html><head></head><body><div><textarea style=\"-wap-input-format: &quot;*&lt;ja:en&gt;&quot;;\"></textarea></div></body></html>"
   char  *ret;
   char  *tmp;
   device_table spec;
@@ -14551,7 +14551,7 @@ void test_jxhtml_textarea_tag_with_css_004()
 {
 #define  TEST_STRING "<html><head><link rel=\"stylesheet\" href=\"http://localhost/a.css\"  type=\"text/css\" />" \
                      "</head><body><textarea></textarea></body></html>"
-#define  RESULT_STRING "<?xml version='1.0' encoding='Shift_JIS' ?><!DOCTYPE html PUBLIC \"-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN\" \"html-basic10-plus.dtd\"><html><head></head><body><div><textarea mode=\"numeric\"></textarea></div></body></html>"
+#define  RESULT_STRING "<?xml version='1.0' encoding='Shift_JIS' ?><!DOCTYPE html PUBLIC \"-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN\" \"html-basic10-plus.dtd\"><html><head></head><body><div><textarea style=\"-wap-input-format: &quot;*&lt;ja:n&gt;&quot;;\"></textarea></div></body></html>"
   char  *ret;
   char  *tmp;
   device_table spec;
@@ -14591,7 +14591,7 @@ void test_jxhtml_textarea_tag_with_css_005()
 {
 #define  TEST_STRING "<html><head>" \
                      "</head><body><textarea style=\"-wap-input-format: &quot;*&lt;ja:h&gt;&quot;\"></textarea></body></html>"
-#define  RESULT_STRING "<?xml version='1.0' encoding='Shift_JIS' ?><!DOCTYPE html PUBLIC \"-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN\" \"html-basic10-plus.dtd\"><html><head></head><body><div><textarea mode=\"hiragana\"></textarea></div></body></html>"
+#define  RESULT_STRING "<?xml version='1.0' encoding='Shift_JIS' ?><!DOCTYPE html PUBLIC \"-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN\" \"html-basic10-plus.dtd\"><html><head></head><body><div><textarea style=\"-wap-input-format: &quot;*&lt;ja:h&gt;&quot;;\"></textarea></div></body></html>"
   char  *ret;
   char  *tmp;
   device_table spec;
@@ -14624,7 +14624,7 @@ void test_jxhtml_textarea_tag_with_css_006()
 {
 #define  TEST_STRING "<html><head>" \
                      "</head><body><textarea style=\"-wap-input-format: &quot;*&lt;ja:hk&gt;&quot;\"></textarea></body></html>"
-#define  RESULT_STRING "<?xml version='1.0' encoding='Shift_JIS' ?><!DOCTYPE html PUBLIC \"-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN\" \"html-basic10-plus.dtd\"><html><head></head><body><div><textarea mode=\"hankakukana\"></textarea></div></body></html>"
+#define  RESULT_STRING "<?xml version='1.0' encoding='Shift_JIS' ?><!DOCTYPE html PUBLIC \"-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN\" \"html-basic10-plus.dtd\"><html><head></head><body><div><textarea style=\"-wap-input-format: &quot;*&lt;ja:hk&gt;&quot;;\"></textarea></div></body></html>"
   char  *ret;
   char  *tmp;
   device_table spec;
@@ -14660,7 +14660,7 @@ void test_jxhtml_textarea_tag_with_css_007()
 {
 #define  TEST_STRING "<html><head>" \
                      "</head><body><textarea style=\"-wap-input-format: &quot;*&lt;ja:en&gt;&quot;;\"></textarea></body></html>"
-#define  RESULT_STRING "<?xml version='1.0' encoding='Shift_JIS' ?><!DOCTYPE html PUBLIC \"-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN\" \"html-basic10-plus.dtd\"><html><head></head><body><div><textarea mode=\"alphabet\"></textarea></div></body></html>"
+#define  RESULT_STRING "<?xml version='1.0' encoding='Shift_JIS' ?><!DOCTYPE html PUBLIC \"-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN\" \"html-basic10-plus.dtd\"><html><head></head><body><div><textarea style=\"-wap-input-format: &quot;*&lt;ja:en&gt;&quot;;\"></textarea></div></body></html>"
   char  *ret;
   char  *tmp;
   device_table spec;
@@ -14694,7 +14694,7 @@ void test_jxhtml_textarea_tag_with_css_008()
 {
 #define  TEST_STRING "<html><head>" \
                      "</head><body><textarea style=\"-wap-input-format: &quot;*&lt;ja:n&gt;&quot;;\"></textarea></body></html>"
-#define  RESULT_STRING "<?xml version='1.0' encoding='Shift_JIS' ?><!DOCTYPE html PUBLIC \"-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN\" \"html-basic10-plus.dtd\"><html><head></head><body><div><textarea mode=\"numeric\"></textarea></div></body></html>"
+#define  RESULT_STRING "<?xml version='1.0' encoding='Shift_JIS' ?><!DOCTYPE html PUBLIC \"-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN\" \"html-basic10-plus.dtd\"><html><head></head><body><div><textarea style=\"-wap-input-format: &quot;*&lt;ja:n&gt;&quot;;\"></textarea></div></body></html>"
   char  *ret;
   char  *tmp;
   device_table spec;