src/chxj_hdml.c
/**
 * It is a handler who processes the OPTION tag.
 *
 * @param pdoc   [i/o] The pointer to the HDML structure at the output
 *                     destination is specified.
 * @param node   [i]   The OPTION tag node is specified.
 * @return The conversion result is returned.
 */
It is a handler who processes the OPTION tag.
@param pdoc   [i/o] The pointer to the HDML structure at the output
destination is specified.
@param node   [i]   The OPTION tag node is specified.
@return The conversion result is returned.
It is a handler who processes the OPTION tag . @param pdoc [ i / o ] The pointer to the HDML structure at the output destination is specified . @param node [ i ] The OPTION tag node is specified . @return The conversion result is returned .
static char * 
s_hdml_start_option_tag(void *pdoc, Node *node) 
{
  request_rec *r;
  Doc         *doc;
  Node        *child;
  char        *val;
  char        *txtval;
  hdml_t      *hdml;
  hdml  = GET_HDML(pdoc);
  r     = hdml->doc->r;
  doc   = hdml->doc;
  hdml->card_cnt++;
  hdml->option_flag = 1;
  val = qs_get_value_attr(doc, node, r->pool);
  child = qs_get_child_node(doc, node);
  if (!child) {
    txtval    = apr_palloc(r->pool, 1);
    txtval[0] = 0;
  }
  else {
    txtval = qs_get_node_value(doc, child);
  }
  DBG(r, "txtval:[%s]" , txtval);
  if (val && txtval) {
    s_output_to_hdml_card(hdml, 
                    apr_psprintf(r->pool, 
                            "<CE TASK=RETURN VALUE=\"%s\" "
                            "RETVALS=\"$V;%s\">%s</CE>\r\n", 
                            val, 
                            qs_trim_string(r->pool,txtval), 
                            qs_trim_string(r->pool,txtval)));
  }
  hdml->hdml_br_flag = 0;
  return hdml->out;
}
static char * s_hdml_start_option_tag ( void * pdoc , Node * node ) { request_rec * r ; Doc * doc ; Node * child ; char * val ; char * txtval ; hdml_t * hdml ; hdml = GET_HDML ( pdoc ) ; r = hdml -> doc -> r ; doc = hdml -> doc ; hdml -> card_cnt ++ ; hdml -> option_flag = 1 ; val = qs_get_value_attr ( doc , node , r -> pool ) ; child = qs_get_child_node ( doc , node ) ; if ( ! child ) { txtval = apr_palloc ( r -> pool , 1 ) ; txtval [ 0 ] = 0 ; } else { txtval = qs_get_node_value ( doc , child ) ; } DBG ( r , " " , txtval ) ; if ( val && txtval ) { s_output_to_hdml_card ( hdml , apr_psprintf ( r -> pool , " \" \" " " \" \" \r \n " , val , qs_trim_string ( r -> pool , txtval ) , qs_trim_string ( r -> pool , txtval ) ) ) ; } hdml -> hdml_br_flag = 0 ; return hdml -> out ; }
It is a handler who processes the OPTION tag.
It is a handler who processes the OPTION tag .
/*--------------------------------------------------------------------------*/ /* The child node of the object tag node acquires the value in assumption   */ /* that is the TEXT node.                                                   */ /*--------------------------------------------------------------------------*/