anchor.diff:      li_structure = mi_xml_doc->create_element( lv_name ).
   
       LOOP AT lo_descr->components ASSIGNING <ls_comp>.
  -
         ASSIGN COMPONENT <ls_comp>-name OF STRUCTURE ig_structure TO <lg_any>.
  +      ASSERT sy-subrc = 0.
   
         lv_name  = <ls_comp>-name.
         special_names( CHANGING cv_name = lv_name ).
  -      li_element = mi_xml_doc->create_element( lv_name ).
  -
  -      lv_string  = <lg_any>.
  -      li_text    = mi_xml_doc->create_text( lv_string ).
  -
  -      li_element->append_child( li_text ).
  -
  -      li_structure->append_child( li_element ).
  +
  +      lo_typedescr = cl_abap_typedescr=>describe_by_data( <lg_any> ).
  +      CASE lo_typedescr->kind.
  +        WHEN cl_abap_typedescr=>kind_table.
  +          table_add( it_table = <lg_any>
  +                     iv_name  = lv_name
  +                     ii_root  = li_structure ).
  +        WHEN cl_abap_typedescr=>kind_struct.
  +          structure_add( ig_structure = <lg_any>
  +                         iv_name      = lv_name
  +                         ii_root      = li_structure ).
  +        WHEN cl_abap_typedescr=>kind_elem.
  +          element_add( ig_element = <lg_any>
  +                       iv_name    = lv_name
  +                       ii_root    = li_structure ).
  +        WHEN OTHERS.
  +          _raise 'unknown kind, structure add'.
  +      ENDCASE.
  +
       ENDLOOP.
   
       xml_add( ii_root    = ii_root
  
positive.code:     ENDIF.
  
      IF lv_name IS INITIAL.
        _raise 'no name'.
      ENDIF.
  
      li_root = xml_find( ii_root   = ii_root
  
negative.code: * See https://github.com/larshp/abapGit/
  
  CONSTANTS: gc_xml_version  TYPE string VALUE 'v0.2-alpha',  "#EC NOTEXT
             gc_abap_version TYPE string VALUE 'v0.50'.       "#EC NOTEXT
  
  ********************************************************************************
  * The MIT License (MIT)
  