src/chxj_hdml.c
/**
 * It is a handler who processes the A tag. 
 *
 * @param pdoc   [i/o] The pointer to the HDML structure at the output
 *                     destination is specified.
 * @param node   [i]   The A tag node is specified. 
 * @return The conversion result is returned. 
 */
It is a handler who processes the A tag.
@param pdoc   [i/o] The pointer to the HDML structure at the output
destination is specified.
@param node   [i]   The A tag node is specified.
@return The conversion result is returned.
It is a handler who processes the A tag . @param pdoc [ i / o ] The pointer to the HDML structure at the output destination is specified . @param node [ i ] The A tag node is specified . @return The conversion result is returned .
static char *
s_hdml_start_a_tag(void *pdoc, Node *node) 
{
  hdml_t       *hdml;
  Doc          *doc;
  Attr         *attr;
  hdml = GET_HDML(pdoc);
  doc  = hdml->doc;
  s_hdml_tag_output_upper_half(hdml,node);
  s_output_to_hdml_out(hdml, "<A");
  for (attr = qs_get_attr(doc,node);
       attr;
       attr = qs_get_next_attr(doc,attr)) {
    char *name  = qs_get_attr_name(doc,attr);
    char *value = qs_get_attr_value(doc,attr);
    if (STRCASEEQ('n','N',"name",name)) {
    }
    else if (STRCASEEQ('h','H',"href",name)) {
      if (STRNCASEEQ('m','M',"mailto:",value,sizeof("mailto:")-1)) {
        value = chxj_encoding_parameter(hdml->doc->r, value);
        s_output_to_hdml_out(hdml, " TASK=GO DEST=\""     );
        s_output_to_hdml_out(hdml, value                  );
        s_output_to_hdml_out(hdml, "\" "                  );
      }
      else if (STRNCASEEQ('t','T',"tel:",value,sizeof("tel:")-1)) {
        s_output_to_hdml_out(hdml,  " TASK=CALL NUMBER=\"");
        s_output_to_hdml_out(hdml, &value[4]              );
        s_output_to_hdml_out(hdml, "\" "                  );
      }
      else {
        s_output_to_hdml_out(hdml, " TASK=GO DEST=\""     );
        s_output_to_hdml_out(hdml, value                  );
        s_output_to_hdml_out(hdml, "\""                   );
      }
    }
    else if (STRCASEEQ('a','A',"accesskey",name) && value && *value) {
      if (strcasecmp(value, "0") != 0) {
        s_output_to_hdml_out(hdml, " ACCESSKEY="          );
        s_output_to_hdml_out(hdml, value                  );
        s_output_to_hdml_out(hdml, ""                     );
      }
    }
    else if (STRCASEEQ('c','C',"cti",name)) {
    }
    else if (STRCASEEQ('i','I',"ijam",name)) {
    }
    else if (STRCASEEQ('u','U',"utn",name)) {
    }
    else if (STRCASEEQ('t','T',"telbook",name)) {
    }
    else if (STRCASEEQ('k','K',"kana",name)) {
    }
    else if (STRCASEEQ('e','E',"email",name)) {
    }
    else if (STRCASEEQ('i','I',"ista",name)) {
    }
    else if (STRCASEEQ('i','I',"ilet",name)) {
    }
    else if (STRCASEEQ('i','I',"iswf",name)) {
    }
    else if (STRCASEEQ('i','I',"irst",name)) {
    }
  }
  s_output_to_hdml_out(hdml, ">"  );
  hdml->hdml_a_flag = 1;
  hdml->hdml_br_flag = 0;
  return hdml->out;
}
static char * s_hdml_start_a_tag ( void * pdoc , Node * node ) { hdml_t * hdml ; Doc * doc ; Attr * attr ; hdml = GET_HDML ( pdoc ) ; doc = hdml -> doc ; s_hdml_tag_output_upper_half ( hdml , node ) ; s_output_to_hdml_out ( hdml , " " ) ; for ( attr = qs_get_attr ( doc , node ) ; attr ; attr = qs_get_next_attr ( doc , attr ) ) { char * name = qs_get_attr_name ( doc , attr ) ; char * value = qs_get_attr_value ( doc , attr ) ; if ( STRCASEEQ ( ' ' , ' ' , " " , name ) ) { } else if ( STRCASEEQ ( ' ' , ' ' , " " , name ) ) { if ( STRNCASEEQ ( ' ' , ' ' , " " , value , sizeof ( " " ) - 1 ) ) { value = chxj_encoding_parameter ( hdml -> doc -> r , value ) ; s_output_to_hdml_out ( hdml , " \" " ) ; s_output_to_hdml_out ( hdml , value ) ; s_output_to_hdml_out ( hdml , " \" " ) ; } else if ( STRNCASEEQ ( ' ' , ' ' , " " , value , sizeof ( " " ) - 1 ) ) { s_output_to_hdml_out ( hdml , " \" " ) ; s_output_to_hdml_out ( hdml , & value [ 4 ] ) ; s_output_to_hdml_out ( hdml , " \" " ) ; } else { s_output_to_hdml_out ( hdml , " \" " ) ; s_output_to_hdml_out ( hdml , value ) ; s_output_to_hdml_out ( hdml , " \" " ) ; } } else if ( STRCASEEQ ( ' ' , ' ' , " " , name ) && value && * value ) { if ( strcasecmp ( value , " " ) != 0 ) { s_output_to_hdml_out ( hdml , " " ) ; s_output_to_hdml_out ( hdml , value ) ; s_output_to_hdml_out ( hdml , " " ) ; } } else if ( STRCASEEQ ( ' ' , ' ' , " " , name ) ) { } else if ( STRCASEEQ ( ' ' , ' ' , " " , name ) ) { } else if ( STRCASEEQ ( ' ' , ' ' , " " , name ) ) { } else if ( STRCASEEQ ( ' ' , ' ' , " " , name ) ) { } else if ( STRCASEEQ ( ' ' , ' ' , " " , name ) ) { } else if ( STRCASEEQ ( ' ' , ' ' , " " , name ) ) { } else if ( STRCASEEQ ( ' ' , ' ' , " " , name ) ) { } else if ( STRCASEEQ ( ' ' , ' ' , " " , name ) ) { } else if ( STRCASEEQ ( ' ' , ' ' , " " , name ) ) { } else if ( STRCASEEQ ( ' ' , ' ' , " " , name ) ) { } } s_output_to_hdml_out ( hdml , " " ) ; hdml -> hdml_a_flag = 1 ; hdml -> hdml_br_flag = 0 ; return hdml -> out ; }
It is a handler who processes the A tag.
It is a handler who processes the A tag .
/*------------------------------------*/ /* Get Attributes                     */ /*------------------------------------*/ /* IGNORE */ /* ignore */ /* ignore */ /* ignore */ /* ignore */ /* ignore */ /* ignore */ /* ignore */ /* ignore */ /* ignore */ /* ignore */