ABAP Keyword Documentation → ABAP − Reference → Data Interfaces and Communication Interfaces → ABAP and XML → Transformations for XML → asXML - Canonical XML Representation → asXML, Examples of Mappings
asXML, Transformation ID vs. Simple Transformation
This example demonstrates the differences between the transformation ID and a simple transformation.
Other versions: 7.31 | 7.40 | 7.54
Source Code
DATA: str TYPE string,
xml TYPE string,
len TYPE i.
DATA(out) = cl_demo_output=>new(
)->begin_section( 'XSLT ID' ).
str = ` `.
len = strlen( str ).
out->write_text( |String length before: { len }| ).
CALL TRANSFORMATION id SOURCE node = str
RESULT XML xml.
out->write_xml( xml ).
CALL TRANSFORMATION id SOURCE XML xml
RESULT node = str.
len = strlen( str ).
out->write_text( |String length after: { len }| ).
out->next_section( 'ST tt:copy' ).
str = ` `.
len = strlen( str ).
out->write_text( |String length before: { len }| ).
CALL TRANSFORMATION demo_asxml_copy SOURCE root = str
RESULT XML xml.
out->write_xml( xml ).
CALL TRANSFORMATION demo_asxml_copy SOURCE XML xml
RESULT root = str.
len = strlen( str ).
out->write_text( |String length after: { len }|
)->display( ).
Description
A text string with five blanks is serialized and deserialized to a simple transformation DEMO_ASXML_COPY using the predefined identity transformation ID and the statement tt:copy. The transformation ID contains the statement <xsl:strip-space elements="*"/> , which means that the blanks are ignored in deserializations and the text string then has the length 0. After deserializations with the simple transformation, the blanks are kept in the text string.