OSDN Git Service

* Added select tag with CSS for CHTML1.0 converter.
authorkonn <konn@1a406e8e-add9-4483-a2c8-d8cac5b7c224>
Fri, 18 Jul 2008 06:34:08 +0000 (06:34 +0000)
committerkonn <konn@1a406e8e-add9-4483-a2c8-d8cac5b7c224>
Fri, 18 Jul 2008 06:34:08 +0000 (06:34 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/modchxj/mod_chxj/branches/sandbox@2999 1a406e8e-add9-4483-a2c8-d8cac5b7c224

src/chxj_chtml10.c

index 5047bad..2fb1814 100644 (file)
@@ -2748,12 +2748,13 @@ s_chtml10_end_img_tag(void *pdoc, Node *UNUSED(child))
  * @return The conversion result is returned.
  */
 static char *
-s_chtml10_start_select_tag(void *pdoc, Node *child)
+s_chtml10_start_select_tag(void *pdoc, Node *node)
 {
   chtml10_t    *chtml10;
   Doc          *doc;
   request_rec  *r;
   Attr         *attr;
+  char         *attr_style = NULL;
 
   char         *size;
   char         *name;
@@ -2766,7 +2767,7 @@ s_chtml10_start_select_tag(void *pdoc, Node *child)
   name    = NULL;
 
   W_L("<select");
-  for (attr = qs_get_attr(doc,child);
+  for (attr = qs_get_attr(doc,node);
        attr;
        attr = qs_get_next_attr(doc,attr)) {
     char *nm  = qs_get_attr_name (doc,attr);
@@ -2780,6 +2781,12 @@ s_chtml10_start_select_tag(void *pdoc, Node *child)
         /*--------------------------------------------------------------------*/
         size = apr_pstrdup(doc->buf.pool, val);
       }
+      else if (strcasecmp(nm, "style") == 0) {
+        /*--------------------------------------------------------------------*/
+        /* CHTML 1.0 version 2.0                                              */
+        /*--------------------------------------------------------------------*/
+        attr_style = apr_pstrdup(doc->buf.pool, val);
+      }
       break;
 
     case 'n':
@@ -2820,6 +2827,9 @@ s_chtml10_start_select_tag(void *pdoc, Node *child)
   }
 
   W_L(">");
+  if (IS_CSS_ON(chtml10->entryp)) {
+    s_chtml10_push_and_get_now_style(pdoc, node, attr_style);
+  }
   return chtml10->out;
 }
 
@@ -2844,6 +2854,9 @@ s_chtml10_end_select_tag(void *pdoc, Node *UNUSED(child))
   r       = doc->r;
 
   W_L("</select>");
+  if (IS_CSS_ON(chtml10->entryp)) {
+    chxj_css_pop_prop_list(chtml10->css_prop_stack);
+  }
   return chtml10->out;
 }