diff --git a/src/zabapgit_page_db.prog.abap b/src/zabapgit_page_db.prog.abap index 0d9054d9b..a9a059f38 100644 --- a/src/zabapgit_page_db.prog.abap +++ b/src/zabapgit_page_db.prog.abap @@ -45,8 +45,7 @@ CLASS lcl_gui_page_db_display IMPLEMENTATION. ls_action-type = ms_key-type. ls_action-value = ms_key-value. lv_action = lcl_html_action_utils=>dbkey_encode( ls_action ). - lv_data = lcl_xml_pretty=>print( lv_data ). - lv_data = lo_highlighter->process_line( lv_data ). + lv_data = lo_highlighter->process_line( lcl_xml_pretty=>print( lv_data ) ). CREATE OBJECT ro_html. @@ -107,9 +106,7 @@ CLASS lcl_gui_page_db_edit IMPLEMENTATION. iv_type = ms_key-type iv_value = ms_key-value ). - lv_data = lcl_xml_pretty=>print( lv_data ). - - lv_data = escape( val = lv_data + lv_data = escape( val = lcl_xml_pretty=>print( lv_data ) format = cl_abap_format=>e_html_attr ). CREATE OBJECT ro_html. diff --git a/src/zabapgit_persistence.prog.abap b/src/zabapgit_persistence.prog.abap index af4d6a437..09e9cca02 100644 --- a/src/zabapgit_persistence.prog.abap +++ b/src/zabapgit_persistence.prog.abap @@ -81,8 +81,9 @@ CLASS lcl_persistence_db DEFINITION FINAL CREATE PRIVATE FRIENDS lcl_app. RAISING lcx_exception. PRIVATE SECTION. - METHODS: validate_xml - IMPORTING iv_xml TYPE string + METHODS: validate_and_unprettify_xml + IMPORTING iv_xml TYPE string + RETURNING VALUE(rv_xml) TYPE string RAISING lcx_exception. ENDCLASS. @@ -831,29 +832,32 @@ CLASS lcl_persistence_db IMPLEMENTATION. ENDMETHOD. - METHOD validate_xml. + METHOD validate_and_unprettify_xml. - lcl_xml_pretty=>print( + rv_xml = lcl_xml_pretty=>print( iv_xml = iv_xml + iv_unpretty = abap_true iv_ignore_errors = abap_false ). - ENDMETHOD. + ENDMETHOD. " validate_and_unprettify_xml METHOD update. - validate_xml( iv_data ). + DATA lv_data LIKE iv_data. + + lv_data = validate_and_unprettify_xml( iv_data ). lock( iv_type = iv_type iv_value = iv_value ). - UPDATE (c_tabname) SET data_str = iv_data - WHERE type = iv_type - AND value = iv_value. + UPDATE (c_tabname) SET data_str = lv_data + WHERE type = iv_type + AND value = iv_value. IF sy-subrc <> 0. lcx_exception=>raise( 'DB update failed' ). ENDIF. - ENDMETHOD. + ENDMETHOD. "update METHOD modify. diff --git a/src/zabapgit_xml.prog.abap b/src/zabapgit_xml.prog.abap index 824505338..ca8675d17 100644 --- a/src/zabapgit_xml.prog.abap +++ b/src/zabapgit_xml.prog.abap @@ -358,6 +358,7 @@ CLASS lcl_xml_pretty DEFINITION FINAL. CLASS-METHODS: print IMPORTING iv_xml TYPE string iv_ignore_errors TYPE abap_bool DEFAULT abap_true + iv_unpretty TYPE abap_bool DEFAULT abap_false RETURNING VALUE(rv_xml) TYPE string RAISING lcx_exception. @@ -378,14 +379,14 @@ CLASS lcl_xml_pretty IMPLEMENTATION. ASSERT NOT iv_xml IS INITIAL. - li_ixml = cl_ixml=>create( ). + li_ixml = cl_ixml=>create( ). li_xml_doc = li_ixml->create_document( ). li_stream_factory = li_ixml->create_stream_factory( ). - li_istream = li_stream_factory->create_istream_string( iv_xml ). - li_parser = li_ixml->create_parser( stream_factory = li_stream_factory - istream = li_istream - document = li_xml_doc ). + li_istream = li_stream_factory->create_istream_string( iv_xml ). + li_parser = li_ixml->create_parser( stream_factory = li_stream_factory + istream = li_istream + document = li_xml_doc ). li_parser->set_normalizing( abap_true ). IF li_parser->parse( ) <> 0. IF iv_ignore_errors = abap_true. @@ -398,12 +399,12 @@ CLASS lcl_xml_pretty IMPLEMENTATION. li_istream->close( ). - li_ostream = li_stream_factory->create_ostream_cstring( rv_xml ). + li_ostream = li_stream_factory->create_ostream_cstring( rv_xml ). li_renderer = li_ixml->create_renderer( ostream = li_ostream document = li_xml_doc ). - li_renderer->set_normalizing( abap_true ). + li_renderer->set_normalizing( boolc( iv_unpretty = abap_false ) ). li_renderer->render( ).