diff --git a/src/xml/zcl_abapgit_xml.clas.abap b/src/xml/zcl_abapgit_xml.clas.abap
index 361e33ab0..8d91e56a7 100644
--- a/src/xml/zcl_abapgit_xml.clas.abap
+++ b/src/xml/zcl_abapgit_xml.clas.abap
@@ -1,13 +1,12 @@
CLASS zcl_abapgit_xml DEFINITION
PUBLIC
ABSTRACT
- CREATE PUBLIC.
+ CREATE PUBLIC .
PUBLIC SECTION.
METHODS:
constructor
IMPORTING iv_filename TYPE string OPTIONAL.
-
PROTECTED SECTION.
DATA: mi_ixml TYPE REF TO if_ixml,
mi_xml_doc TYPE REF TO if_ixml_document,
@@ -24,8 +23,7 @@ CLASS zcl_abapgit_xml DEFINITION
RETURNING VALUE(rv_xml) TYPE string.
METHODS parse
- IMPORTING iv_normalize TYPE abap_bool DEFAULT abap_true
- iv_xml TYPE string
+ IMPORTING iv_xml TYPE string
RAISING zcx_abapgit_exception.
PRIVATE SECTION.
@@ -39,7 +37,7 @@ ENDCLASS.
-CLASS ZCL_ABAPGIT_XML IMPLEMENTATION.
+CLASS zcl_abapgit_xml IMPLEMENTATION.
METHOD constructor.
@@ -147,7 +145,7 @@ CLASS ZCL_ABAPGIT_XML IMPLEMENTATION.
li_parser = mi_ixml->create_parser( stream_factory = li_stream_factory
istream = li_istream
document = mi_xml_doc ).
- li_parser->set_normalizing( iv_normalize ).
+ li_parser->add_strip_space_element( ).
IF li_parser->parse( ) <> 0.
error( li_parser ).
ENDIF.
diff --git a/src/xml/zcl_abapgit_xml.clas.testclasses.abap b/src/xml/zcl_abapgit_xml.clas.testclasses.abap
new file mode 100644
index 000000000..4eff4d3f9
--- /dev/null
+++ b/src/xml/zcl_abapgit_xml.clas.testclasses.abap
@@ -0,0 +1,90 @@
+CLASS ltcl_xml DEFINITION DEFERRED.
+
+CLASS ltcl_xml_concrete DEFINITION FOR TESTING
+ FINAL
+ INHERITING FROM zcl_abapgit_xml
+ FRIENDS ltcl_xml.
+ENDCLASS.
+
+CLASS ltcl_xml_concrete IMPLEMENTATION.
+ENDCLASS.
+
+CLASS ltcl_xml DEFINITION FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
+
+ PRIVATE SECTION.
+
+ METHODS:
+ space_leading_trailing FOR TESTING
+ RAISING zcx_abapgit_exception.
+
+ METHODS:
+ parse_xml
+ IMPORTING
+ iv_xml TYPE csequence
+ RAISING
+ zcx_abapgit_exception,
+ render_xml
+ IMPORTING
+ iv_name TYPE string
+ RETURNING
+ VALUE(rv_xml) TYPE string.
+
+ DATA: mo_xml TYPE REF TO ltcl_xml_concrete.
+
+ENDCLASS.
+
+
+CLASS ltcl_xml IMPLEMENTATION.
+
+ METHOD parse_xml.
+
+ DATA: lv_xml TYPE string.
+
+
+ CREATE OBJECT mo_xml.
+
+ lv_xml = ||
+ && |<{ mo_xml->c_abapgit_tag } { mo_xml->c_attr_version }="{ zif_abapgit_version=>gc_xml_version }">|
+ && iv_xml
+ && |{ mo_xml->c_abapgit_tag }>|.
+
+ mo_xml->parse( iv_xml = lv_xml ).
+
+ ENDMETHOD.
+
+ METHOD space_leading_trailing.
+
+ DATA: lv_from_xml TYPE string,
+ lv_to_xml TYPE string.
+
+
+ lv_from_xml = ` A `.
+
+ parse_xml( lv_from_xml ).
+
+ lv_to_xml = render_xml( 'FOO' ).
+
+ cl_abap_unit_assert=>assert_equals(
+ act = lv_to_xml
+ exp = lv_from_xml ).
+
+ ENDMETHOD.
+
+ METHOD render_xml.
+
+ DATA: li_element TYPE REF TO if_ixml_element,
+ 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_element = mo_xml->mi_xml_doc->find_from_path( |/{ mo_xml->c_abapgit_tag }/{ iv_name }| ).
+
+ li_streamfactory = mo_xml->mi_ixml->create_stream_factory( ).
+
+ li_ostream = li_streamfactory->create_ostream_cstring( rv_xml ).
+
+ li_element->render( ostream = li_ostream ).
+
+ ENDMETHOD.
+
+ENDCLASS.
diff --git a/src/xml/zcl_abapgit_xml.clas.xml b/src/xml/zcl_abapgit_xml.clas.xml
index 392264a36..e91c0daf5 100644
--- a/src/xml/zcl_abapgit_xml.clas.xml
+++ b/src/xml/zcl_abapgit_xml.clas.xml
@@ -10,6 +10,7 @@
X
X
X
+ X