mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
remove old xml code
This commit is contained in:
parent
55c9fd61b5
commit
84a4fe7a32
|
@ -1053,544 +1053,6 @@ CLASS lcl_user IMPLEMENTATION.
|
|||
|
||||
ENDCLASS. "lcl_user IMPLEMENTATION
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
* CLASS lcl_xml DEFINITION
|
||||
*----------------------------------------------------------------------*
|
||||
*
|
||||
*----------------------------------------------------------------------*
|
||||
*CLASS lcl_xml DEFINITION FINAL CREATE PUBLIC.
|
||||
*
|
||||
* PUBLIC SECTION.
|
||||
* DATA: mi_xml_doc TYPE REF TO if_ixml_document.
|
||||
*
|
||||
* METHODS constructor
|
||||
* IMPORTING iv_xml TYPE string OPTIONAL
|
||||
* iv_empty TYPE sap_bool DEFAULT abap_false
|
||||
* RAISING lcx_exception.
|
||||
*
|
||||
* METHODS element_add
|
||||
* IMPORTING ig_element TYPE data
|
||||
* iv_name TYPE string OPTIONAL
|
||||
* ii_root TYPE REF TO if_ixml_element OPTIONAL
|
||||
* RAISING lcx_exception.
|
||||
*
|
||||
* METHODS element_read
|
||||
* IMPORTING ii_root TYPE REF TO if_ixml_element OPTIONAL
|
||||
* iv_name TYPE string OPTIONAL
|
||||
* EXPORTING ev_success TYPE abap_bool
|
||||
* CHANGING cg_element TYPE data
|
||||
* RAISING lcx_exception.
|
||||
*
|
||||
* METHODS structure_add
|
||||
* IMPORTING ig_structure TYPE data
|
||||
* iv_name TYPE string OPTIONAL
|
||||
* ii_root TYPE REF TO if_ixml_element OPTIONAL
|
||||
* RAISING lcx_exception.
|
||||
*
|
||||
* METHODS structure_read
|
||||
* IMPORTING ii_root TYPE REF TO if_ixml_element OPTIONAL
|
||||
* iv_name TYPE string OPTIONAL
|
||||
* EXPORTING ev_success TYPE abap_bool
|
||||
* CHANGING cg_structure TYPE data
|
||||
* RAISING lcx_exception.
|
||||
*
|
||||
* METHODS table_add
|
||||
* IMPORTING it_table TYPE STANDARD TABLE
|
||||
* iv_name TYPE string OPTIONAL
|
||||
* iv_stable TYPE abap_bool DEFAULT abap_false
|
||||
* ii_root TYPE REF TO if_ixml_element OPTIONAL
|
||||
* RAISING lcx_exception.
|
||||
*
|
||||
* METHODS table_read
|
||||
* IMPORTING ii_root TYPE REF TO if_ixml_element OPTIONAL
|
||||
* iv_name TYPE string OPTIONAL
|
||||
* CHANGING ct_table TYPE STANDARD TABLE
|
||||
* RAISING lcx_exception.
|
||||
*
|
||||
* METHODS xml_render
|
||||
* IMPORTING iv_normalize TYPE sap_bool DEFAULT abap_true
|
||||
* RETURNING VALUE(rv_string) TYPE string.
|
||||
*
|
||||
* METHODS xml_element
|
||||
* IMPORTING iv_name TYPE string
|
||||
* RETURNING VALUE(ri_element) TYPE REF TO if_ixml_element.
|
||||
*
|
||||
* METHODS xml_add
|
||||
* IMPORTING ii_root TYPE REF TO if_ixml_element OPTIONAL
|
||||
* ii_element TYPE REF TO if_ixml_element.
|
||||
*
|
||||
* METHODS xml_find
|
||||
* IMPORTING ii_root TYPE REF TO if_ixml_element OPTIONAL
|
||||
* iv_name TYPE string
|
||||
* RETURNING VALUE(ri_element) TYPE REF TO if_ixml_element.
|
||||
*
|
||||
* PRIVATE SECTION.
|
||||
* DATA: mi_ixml TYPE REF TO if_ixml,
|
||||
* mi_root TYPE REF TO if_ixml_element.
|
||||
*
|
||||
* METHODS special_names
|
||||
* CHANGING cv_name TYPE string.
|
||||
*
|
||||
* METHODS display_xml_error
|
||||
* RAISING lcx_exception.
|
||||
*
|
||||
* METHODS error
|
||||
* IMPORTING ii_parser TYPE REF TO if_ixml_parser
|
||||
* RAISING lcx_exception.
|
||||
*
|
||||
*ENDCLASS. "lcl_xml DEFINITION
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
* CLASS lcl_xml IMPLEMENTATION
|
||||
*----------------------------------------------------------------------*
|
||||
*
|
||||
*----------------------------------------------------------------------*
|
||||
*CLASS lcl_xml IMPLEMENTATION.
|
||||
*
|
||||
* METHOD xml_find.
|
||||
*
|
||||
* DATA: li_root LIKE ii_root.
|
||||
*
|
||||
*
|
||||
* IF ii_root IS BOUND.
|
||||
* li_root = ii_root.
|
||||
* ELSE.
|
||||
* li_root = mi_root.
|
||||
* ENDIF.
|
||||
*
|
||||
* ri_element = li_root->find_from_name( depth = 0 name = iv_name ).
|
||||
* IF NOT ri_element IS BOUND.
|
||||
* RETURN.
|
||||
* ENDIF.
|
||||
* li_root->remove_child( ri_element ).
|
||||
*
|
||||
* ENDMETHOD. "xml_find
|
||||
*
|
||||
* METHOD xml_element.
|
||||
*
|
||||
* ri_element = mi_xml_doc->create_element( iv_name ).
|
||||
*
|
||||
* ENDMETHOD. "xml_element
|
||||
*
|
||||
* METHOD special_names.
|
||||
*
|
||||
* IF cv_name(1) = '*'.
|
||||
* CONCATENATE 'STAR' cv_name+1 INTO cv_name.
|
||||
* ELSEIF cv_name(1) = '2'.
|
||||
* CONCATENATE 'TWO' cv_name+1 INTO cv_name.
|
||||
* ENDIF.
|
||||
*
|
||||
* ENDMETHOD. "special_names
|
||||
*
|
||||
* METHOD structure_read.
|
||||
*
|
||||
* DATA: lv_name TYPE string,
|
||||
* li_struct TYPE REF TO if_ixml_element,
|
||||
* lo_typedescr TYPE REF TO cl_abap_typedescr,
|
||||
* lo_descr_ref TYPE REF TO cl_abap_structdescr.
|
||||
*
|
||||
* FIELD-SYMBOLS: <lg_any> TYPE any,
|
||||
* <ls_comp> LIKE LINE OF lo_descr_ref->components.
|
||||
*
|
||||
*
|
||||
* CLEAR cg_structure.
|
||||
* ev_success = abap_true.
|
||||
*
|
||||
* lo_descr_ref ?= cl_abap_typedescr=>describe_by_data( cg_structure ).
|
||||
* IF iv_name IS INITIAL.
|
||||
* lv_name = lo_descr_ref->get_relative_name( ).
|
||||
* IF lv_name IS INITIAL.
|
||||
* _raise 'no name, structure read'.
|
||||
* ENDIF.
|
||||
* ELSE.
|
||||
* lv_name = iv_name.
|
||||
* ENDIF.
|
||||
*
|
||||
* li_struct = xml_find( ii_root = ii_root
|
||||
* iv_name = lv_name ).
|
||||
* IF NOT li_struct IS BOUND.
|
||||
* ev_success = abap_false.
|
||||
* RETURN.
|
||||
* ENDIF.
|
||||
*
|
||||
* LOOP AT lo_descr_ref->components ASSIGNING <ls_comp>.
|
||||
* ASSIGN COMPONENT <ls_comp>-name OF STRUCTURE cg_structure TO <lg_any>.
|
||||
* ASSERT sy-subrc = 0.
|
||||
*
|
||||
* lv_name = <ls_comp>-name.
|
||||
* special_names( CHANGING cv_name = lv_name ).
|
||||
*
|
||||
* lo_typedescr = cl_abap_typedescr=>describe_by_data( <lg_any> ).
|
||||
* CASE lo_typedescr->kind.
|
||||
* WHEN cl_abap_typedescr=>kind_table.
|
||||
* table_read( EXPORTING ii_root = li_struct
|
||||
* iv_name = lv_name
|
||||
* CHANGING ct_table = <lg_any> ).
|
||||
* WHEN cl_abap_typedescr=>kind_struct.
|
||||
* structure_read( EXPORTING ii_root = li_struct
|
||||
* iv_name = lv_name
|
||||
* CHANGING cg_structure = <lg_any> ).
|
||||
* WHEN cl_abap_typedescr=>kind_elem.
|
||||
* element_read( EXPORTING ii_root = li_struct
|
||||
* iv_name = lv_name
|
||||
* CHANGING cg_element = <lg_any> ).
|
||||
* WHEN cl_abap_typedescr=>kind_ref.
|
||||
* CONTINUE.
|
||||
* WHEN OTHERS.
|
||||
* _raise 'unknown kind, structure read'.
|
||||
* ENDCASE.
|
||||
* ENDLOOP.
|
||||
*
|
||||
* ENDMETHOD. "structure_read
|
||||
*
|
||||
* METHOD table_read.
|
||||
*
|
||||
* DATA: lv_name TYPE string,
|
||||
* li_root TYPE REF TO if_ixml_element,
|
||||
* lv_kind TYPE abap_typecategory,
|
||||
* lv_index TYPE i,
|
||||
* lv_success TYPE abap_bool,
|
||||
* lo_data_descr TYPE REF TO cl_abap_datadescr,
|
||||
* lo_table_descr TYPE REF TO cl_abap_tabledescr.
|
||||
*
|
||||
* FIELD-SYMBOLS: <lg_line> TYPE any.
|
||||
*
|
||||
*
|
||||
* CLEAR ct_table[].
|
||||
*
|
||||
* lo_table_descr ?= cl_abap_typedescr=>describe_by_data( ct_table ).
|
||||
* lv_name = lo_table_descr->get_relative_name( ).
|
||||
*
|
||||
* IF lv_name IS INITIAL.
|
||||
* lv_name = iv_name.
|
||||
* ENDIF.
|
||||
*
|
||||
* IF lv_name IS INITIAL.
|
||||
* _raise 'no name, table read'.
|
||||
* ENDIF.
|
||||
*
|
||||
* li_root = xml_find( ii_root = ii_root
|
||||
* iv_name = lv_name ).
|
||||
* IF NOT li_root IS BOUND.
|
||||
* RETURN.
|
||||
* ENDIF.
|
||||
*
|
||||
* lo_data_descr = lo_table_descr->get_table_line_type( ).
|
||||
* lv_kind = lo_data_descr->kind.
|
||||
*
|
||||
* DO.
|
||||
* APPEND INITIAL LINE TO ct_table ASSIGNING <lg_line>.
|
||||
* CASE lv_kind.
|
||||
* WHEN cl_abap_typedescr=>kind_struct.
|
||||
* structure_read( EXPORTING ii_root = li_root
|
||||
* IMPORTING ev_success = lv_success
|
||||
* CHANGING cg_structure = <lg_line> ).
|
||||
* WHEN cl_abap_typedescr=>kind_elem.
|
||||
* element_read( EXPORTING ii_root = li_root
|
||||
* IMPORTING ev_success = lv_success
|
||||
* CHANGING cg_element = <lg_line> ).
|
||||
* WHEN OTHERS.
|
||||
* _raise 'unknown kind'.
|
||||
* ENDCASE.
|
||||
*
|
||||
* IF lv_success = abap_false.
|
||||
* lv_index = lines( ct_table ).
|
||||
* DELETE ct_table INDEX lv_index.
|
||||
* ASSERT sy-subrc = 0.
|
||||
* EXIT. " current loop
|
||||
* ENDIF.
|
||||
* ENDDO.
|
||||
*
|
||||
* ENDMETHOD. "table_read
|
||||
*
|
||||
* METHOD error.
|
||||
*
|
||||
* DATA: lv_error TYPE i,
|
||||
* lv_txt1 TYPE string,
|
||||
* lv_txt2 TYPE string,
|
||||
* lv_txt3 TYPE string,
|
||||
* lv_times TYPE i,
|
||||
* li_error TYPE REF TO if_ixml_parse_error.
|
||||
*
|
||||
*
|
||||
* IF ii_parser->num_errors( ) <> 0.
|
||||
* lv_times = ii_parser->num_errors( ).
|
||||
* DO lv_times TIMES.
|
||||
* lv_error = sy-index - 1.
|
||||
* li_error = ii_parser->get_error( lv_error ).
|
||||
*
|
||||
* lv_txt1 = li_error->get_column( ).
|
||||
* CONCATENATE 'Column:' lv_txt1 INTO lv_txt1. "#EC NOTEXT
|
||||
* lv_txt2 = li_error->get_line( ).
|
||||
* CONCATENATE 'Line:' lv_txt2 INTO lv_txt2. "#EC NOTEXT
|
||||
* lv_txt3 = li_error->get_reason( ).
|
||||
*
|
||||
* CALL FUNCTION 'POPUP_TO_INFORM'
|
||||
* EXPORTING
|
||||
* titel = 'Error from XML parser' "#EC NOTEXT
|
||||
* txt1 = lv_txt1
|
||||
* txt2 = lv_txt2
|
||||
* txt3 = lv_txt3.
|
||||
* ENDDO.
|
||||
* ENDIF.
|
||||
*
|
||||
* _raise 'Error while parsing XML'.
|
||||
* ENDMETHOD. "error
|
||||
*
|
||||
* METHOD constructor.
|
||||
*
|
||||
* CONSTANTS: c_version TYPE string VALUE 'version' ##NO_TEXT,
|
||||
* c_abapgit_tag TYPE string VALUE 'abapGit'.
|
||||
*
|
||||
* DATA: li_stream_factory TYPE REF TO if_ixml_stream_factory,
|
||||
* li_istream TYPE REF TO if_ixml_istream,
|
||||
* li_version TYPE REF TO if_ixml_node,
|
||||
* li_parser TYPE REF TO if_ixml_parser.
|
||||
*
|
||||
*
|
||||
* mi_ixml = cl_ixml=>create( ).
|
||||
* mi_xml_doc = mi_ixml->create_document( ).
|
||||
*
|
||||
* IF iv_xml IS SUPPLIED.
|
||||
* li_stream_factory = mi_ixml->create_stream_factory( ).
|
||||
* li_istream = li_stream_factory->create_istream_string( iv_xml ).
|
||||
* li_parser = mi_ixml->create_parser( stream_factory = li_stream_factory
|
||||
* istream = li_istream
|
||||
* document = mi_xml_doc ).
|
||||
* li_parser->set_normalizing( abap_false ).
|
||||
* IF li_parser->parse( ) <> 0.
|
||||
* error( li_parser ).
|
||||
* ENDIF.
|
||||
*
|
||||
* li_istream->close( ).
|
||||
*
|
||||
* mi_root = mi_xml_doc->find_from_name( depth = 0 name = c_abapgit_tag ).
|
||||
*
|
||||
* li_version = mi_root->if_ixml_node~get_attributes( )->get_named_item_ns( c_version ).
|
||||
* IF li_version->get_value( ) <> gc_xml_version.
|
||||
* display_xml_error( ).
|
||||
* ENDIF.
|
||||
* ELSEIF iv_empty = abap_false.
|
||||
* mi_root = mi_xml_doc->create_element( c_abapgit_tag ).
|
||||
* mi_root->set_attribute( name = c_version value = gc_xml_version ). "#EC NOTEXT
|
||||
* mi_xml_doc->append_child( mi_root ).
|
||||
* ENDIF.
|
||||
* ENDMETHOD. "xml_root
|
||||
*
|
||||
* METHOD display_xml_error.
|
||||
*
|
||||
* DATA: lv_version TYPE string.
|
||||
*
|
||||
*
|
||||
* lv_version = |abapGit version: { gc_abap_version }|.
|
||||
*
|
||||
* CALL FUNCTION 'POPUP_TO_INFORM'
|
||||
* EXPORTING
|
||||
* titel = 'abapGit XML version mismatch'
|
||||
* txt1 = 'abapGit XML version mismatch'
|
||||
* txt2 = 'See https://github.com/larshp/abapGit/wiki/XML-Mismatch'
|
||||
* txt3 = lv_version. "#EC NOTEXT
|
||||
*
|
||||
* _raise 'XML error'.
|
||||
*
|
||||
* ENDMETHOD.
|
||||
*
|
||||
* METHOD table_add.
|
||||
*
|
||||
* DATA: lv_name TYPE string,
|
||||
* li_table TYPE REF TO if_ixml_element,
|
||||
* lv_kind TYPE abap_typecategory,
|
||||
* lo_data_descr TYPE REF TO cl_abap_datadescr,
|
||||
* lo_table_descr TYPE REF TO cl_abap_tabledescr.
|
||||
*
|
||||
* FIELD-SYMBOLS: <lg_line> TYPE any.
|
||||
*
|
||||
*
|
||||
* lo_table_descr ?= cl_abap_typedescr=>describe_by_data( it_table ).
|
||||
* lv_name = lo_table_descr->get_relative_name( ).
|
||||
*
|
||||
* IF lv_name IS INITIAL.
|
||||
* lv_name = iv_name.
|
||||
* ENDIF.
|
||||
*
|
||||
* IF lv_name IS INITIAL.
|
||||
* _raise 'no name, table add'.
|
||||
* ENDIF.
|
||||
*
|
||||
* li_table = mi_xml_doc->create_element( lv_name ).
|
||||
* lo_data_descr = lo_table_descr->get_table_line_type( ).
|
||||
* lv_kind = lo_data_descr->kind.
|
||||
*
|
||||
* LOOP AT it_table ASSIGNING <lg_line>.
|
||||
* CASE lv_kind.
|
||||
* WHEN cl_abap_typedescr=>kind_struct.
|
||||
* structure_add( ig_structure = <lg_line>
|
||||
* ii_root = li_table ).
|
||||
* WHEN cl_abap_typedescr=>kind_elem.
|
||||
* element_add( ig_element = <lg_line>
|
||||
* ii_root = li_table ).
|
||||
* WHEN OTHERS.
|
||||
* _raise 'unknown kind'.
|
||||
* ENDCASE.
|
||||
* ENDLOOP.
|
||||
*
|
||||
* xml_add( ii_root = ii_root
|
||||
* ii_element = li_table ).
|
||||
*
|
||||
* ENDMETHOD. "table_add
|
||||
*
|
||||
* METHOD xml_add.
|
||||
*
|
||||
* IF ii_root IS BOUND.
|
||||
* ii_root->append_child( ii_element ).
|
||||
* ELSE.
|
||||
* mi_root->append_child( ii_element ).
|
||||
* ENDIF.
|
||||
*
|
||||
* ENDMETHOD. "xml_add
|
||||
*
|
||||
* METHOD element_add.
|
||||
*
|
||||
* DATA: lo_descr TYPE REF TO cl_abap_elemdescr,
|
||||
* lv_string TYPE string,
|
||||
* li_element TYPE REF TO if_ixml_element,
|
||||
* li_text TYPE REF TO if_ixml_text,
|
||||
* lv_name TYPE string.
|
||||
*
|
||||
* lo_descr ?= cl_abap_typedescr=>describe_by_data( ig_element ).
|
||||
*
|
||||
* IF iv_name IS NOT INITIAL.
|
||||
* lv_name = iv_name.
|
||||
* ELSE.
|
||||
* lv_name = lo_descr->get_relative_name( ).
|
||||
* IF lv_name IS INITIAL.
|
||||
* _raise 'no name, element add'.
|
||||
* ENDIF.
|
||||
* ENDIF.
|
||||
*
|
||||
* li_element = mi_xml_doc->create_element( lv_name ).
|
||||
*
|
||||
* lv_string = ig_element.
|
||||
* li_text = mi_xml_doc->create_text( lv_string ).
|
||||
*
|
||||
* li_element->append_child( li_text ).
|
||||
*
|
||||
* xml_add( ii_root = ii_root
|
||||
* ii_element = li_element ).
|
||||
*
|
||||
* ENDMETHOD. "element_add
|
||||
*
|
||||
* METHOD element_read.
|
||||
*
|
||||
* DATA: lo_descr TYPE REF TO cl_abap_elemdescr,
|
||||
* li_element TYPE REF TO if_ixml_element,
|
||||
* lv_name TYPE string.
|
||||
*
|
||||
*
|
||||
* ev_success = abap_true.
|
||||
*
|
||||
* lo_descr ?= cl_abap_typedescr=>describe_by_data( cg_element ).
|
||||
*
|
||||
* IF iv_name IS INITIAL.
|
||||
* lv_name = lo_descr->get_relative_name( ).
|
||||
* IF lv_name IS INITIAL.
|
||||
* _raise 'no name, element read'.
|
||||
* ENDIF.
|
||||
* ELSE.
|
||||
* lv_name = iv_name.
|
||||
* ENDIF.
|
||||
*
|
||||
* li_element = xml_find( ii_root = ii_root
|
||||
* iv_name = lv_name ).
|
||||
* IF NOT li_element IS BOUND.
|
||||
* ev_success = abap_false.
|
||||
* RETURN.
|
||||
* ENDIF.
|
||||
*
|
||||
* cg_element = li_element->get_value( ).
|
||||
*
|
||||
* ENDMETHOD. "element_read
|
||||
*
|
||||
* METHOD structure_add.
|
||||
*
|
||||
* DATA: li_structure TYPE REF TO if_ixml_element,
|
||||
* lv_name TYPE string,
|
||||
* lo_typedescr TYPE REF TO cl_abap_typedescr,
|
||||
* lo_descr TYPE REF TO cl_abap_structdescr.
|
||||
*
|
||||
* FIELD-SYMBOLS: <ls_comp> LIKE LINE OF lo_descr->components,
|
||||
* <lg_any> TYPE any.
|
||||
*
|
||||
*
|
||||
* lo_descr ?= cl_abap_typedescr=>describe_by_data( ig_structure ).
|
||||
*
|
||||
* IF iv_name IS INITIAL.
|
||||
* lv_name = lo_descr->get_relative_name( ).
|
||||
* IF lv_name IS INITIAL.
|
||||
* _raise 'no name, structure add'.
|
||||
* ENDIF.
|
||||
* ELSE.
|
||||
* lv_name = iv_name.
|
||||
* ENDIF.
|
||||
* 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 ).
|
||||
*
|
||||
* 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 cl_abap_typedescr=>kind_ref.
|
||||
* CONTINUE.
|
||||
* WHEN OTHERS.
|
||||
* _raise 'unknown kind, structure add'.
|
||||
* ENDCASE.
|
||||
*
|
||||
* ENDLOOP.
|
||||
*
|
||||
* xml_add( ii_root = ii_root
|
||||
* ii_element = li_structure ).
|
||||
*
|
||||
* ENDMETHOD. "structure_to_xml
|
||||
*
|
||||
* METHOD xml_render.
|
||||
** will render to codepage UTF-16
|
||||
*
|
||||
* DATA: li_ostream TYPE REF TO if_ixml_ostream,
|
||||
* li_renderer TYPE REF TO if_ixml_renderer,
|
||||
* li_streamfactory TYPE REF TO if_ixml_stream_factory.
|
||||
*
|
||||
*
|
||||
* li_streamfactory = mi_ixml->create_stream_factory( ).
|
||||
*
|
||||
* li_ostream = li_streamfactory->create_ostream_cstring( rv_string ).
|
||||
*
|
||||
* li_renderer = mi_ixml->create_renderer( ostream = li_ostream
|
||||
* document = mi_xml_doc ).
|
||||
* IF iv_normalize = abap_true.
|
||||
* li_renderer->set_normalizing( ).
|
||||
* ENDIF.
|
||||
* li_renderer->render( ).
|
||||
*
|
||||
* ENDMETHOD. "xml_render
|
||||
*
|
||||
*ENDCLASS. "lcl_xml IMPLEMENTATION
|
||||
|
||||
CLASS lcl_xml DEFINITION ABSTRACT.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
@ -1653,7 +1115,8 @@ CLASS lcl_xml IMPLEMENTATION.
|
|||
li_istream->close( ).
|
||||
|
||||
li_element = mi_xml_doc->find_from_name( depth = 0 name = c_abapgit_tag ).
|
||||
li_version = li_element->if_ixml_node~get_attributes( )->get_named_item_ns( 'version' ).
|
||||
li_version = li_element->if_ixml_node~get_attributes(
|
||||
)->get_named_item_ns( 'version' ). ##NO_TEXT
|
||||
IF li_version->get_value( ) <> gc_xml_version.
|
||||
display_xml_error( ).
|
||||
ENDIF.
|
||||
|
@ -1855,7 +1318,7 @@ CLASS lcl_xml_input IMPLEMENTATION.
|
|||
CALL TRANSFORMATION id
|
||||
OPTIONS value_handling = 'accept_data_loss'
|
||||
SOURCE XML mi_xml_doc
|
||||
RESULT (lt_rtab).
|
||||
RESULT (lt_rtab) ##NO_TEXT.
|
||||
CATCH cx_transformation_error INTO lx_error.
|
||||
lv_text = lx_error->if_message~get_text( ).
|
||||
_raise lv_text.
|
||||
|
|
Loading…
Reference in New Issue
Block a user