Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@
},
"license": "MIT",
"dependencies": {
"@abaplint/cli": "^2.113.210",
"@abaplint/cli": "^2.113.220",
"@abaplint/database-pg": "^2.11.78",
"@abaplint/database-sqlite": "^2.11.78",
"@abaplint/runtime": "^2.11.93",
"@abaplint/transpiler-cli": "^2.11.93",
"@abaplint/runtime": "^2.11.96",
"@abaplint/transpiler-cli": "^2.11.96",
"0x": "^6.0.0"
}
}
6 changes: 4 additions & 2 deletions src/ixml/cl_ixml.clas.locals_imp.abap
Original file line number Diff line number Diff line change
Expand Up @@ -482,7 +482,7 @@ CLASS lcl_node IMPLEMENTATION.
ENDMETHOD.

METHOD if_ixml_element~set_attribute_node_ns.
ASSERT 1 = 'todo'.
mi_attributes->set_named_item_ns( new_attr ).
ENDMETHOD.

METHOD if_ixml_element~set_attribute.
Expand Down Expand Up @@ -784,7 +784,9 @@ CLASS lcl_document IMPLEMENTATION.
ENDMETHOD.

METHOD if_ixml_document~create_attribute_ns.
ASSERT 1 = 'todo'.
CREATE OBJECT rval TYPE lcl_node.
rval->if_ixml_node~set_name( name ).
rval->if_ixml_node~set_namespace_prefix( prefix ).
ENDMETHOD.

METHOD if_ixml_document~create_element_ns.
Expand Down
33 changes: 33 additions & 0 deletions src/ixml/cl_ixml.clas.testclasses.abap
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ CLASS ltcl_xml DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
METHODS pretty4 FOR TESTING RAISING cx_static_check.
METHODS pretty5 FOR TESTING RAISING cx_static_check.
METHODS add_stuff FOR TESTING RAISING cx_static_check.
METHODS create_attribute_ns FOR TESTING RAISING cx_static_check.

DATA mi_ixml TYPE REF TO if_ixml.
DATA mi_document TYPE REF TO if_ixml_document.
Expand Down Expand Up @@ -1152,4 +1153,36 @@ CLASS ltcl_xml IMPLEMENTATION.

ENDMETHOD.

METHOD create_attribute_ns.
DATA li_element TYPE REF TO if_ixml_element.
DATA li_top TYPE REF TO if_ixml_element.
DATA lv_xml TYPE string.
DATA li_attr TYPE REF TO if_ixml_attribute.

li_top = mi_document->create_element_ns(
prefix = 'asx'
name = 'abap' ).
mi_document->append_child( li_top ).

li_element = mi_document->create_element( 'HELLO' ).

li_attr = mi_document->create_attribute_ns( 'version' ).
li_attr->if_ixml_node~set_value( '1.0' ).
li_element->set_attribute_node_ns( li_attr ).

li_attr = mi_document->create_attribute_ns(
name = 'asx'
prefix = 'xmlns' ).
li_attr->if_ixml_node~set_value( 'http://abapgit.org' ).
li_element->set_attribute_node_ns( li_attr ).

li_top->append_child( li_element ).

lv_xml = render( ).

cl_abap_unit_assert=>assert_char_cp(
act = lv_xml
exp = '*<HELLO version="1.0" xmlns:asx="http://abapgit.org"/>*' ).
ENDMETHOD.

ENDCLASS.
8 changes: 5 additions & 3 deletions src/ixml/if_ixml_attribute.intf.abap
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
INTERFACE if_ixml_attribute PUBLIC.
INTERFACES if_ixml_node.
METHODS get_value RETURNING VALUE(val) TYPE string.
METHODS set_value IMPORTING value TYPE string.
METHODS get_name RETURNING VALUE(val) TYPE string.

ALIASES get_value FOR if_ixml_node~get_value.
ALIASES set_value FOR if_ixml_node~set_value.
ALIASES get_name FOR if_ixml_node~get_name.
ALIASES set_name FOR if_ixml_node~set_name.
ENDINTERFACE.
6 changes: 3 additions & 3 deletions src/ixml/if_ixml_document.intf.abap
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@ INTERFACE if_ixml_document PUBLIC.
VALUE(child) TYPE REF TO if_ixml_node,
create_attribute_ns
IMPORTING
name TYPE string
prefix TYPE string OPTIONAL
name TYPE string
prefix TYPE string OPTIONAL
RETURNING
VALUE(element) TYPE REF TO if_ixml_attribute,
VALUE(rval) TYPE REF TO if_ixml_attribute,
create_element_ns
IMPORTING
name TYPE string
Expand Down
2 changes: 1 addition & 1 deletion src/ixml/if_ixml_element.intf.abap
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ INTERFACE if_ixml_element PUBLIC.
ostream TYPE REF TO if_ixml_ostream,
set_attribute_node_ns
IMPORTING
attr TYPE any,
new_attr TYPE REF TO if_ixml_attribute,
set_attribute
IMPORTING
name TYPE string
Expand Down