Skip to content

ABAP Keyword Documentation →  ABAP − Reference →  Data Interfaces and Communication Interfaces →  ABAP and XML →  Transformations for XML →  CALL TRANSFORMATION →  CALL TRANSFORMATION - Examples 

Transformation of XML Syntax Characters

This example demonstrates the serialization of characters from the XML syntax using various transformations.

Other versions: 7.31 | 7.40 | 7.54

Source Code

    DATA xml TYPE string.

    DATA(text) = `<>&"`.

    DATA(out) = cl_demo_output=>new(
      )->begin_section( `Text`
      )->write( text

      )->next_section( `XSLT`

      )->begin_section( `<xsl:output method="text" />` ).
    CALL TRANSFORMATION demo_escaping_text SOURCE text = text
                                          RESULT XML xml.
    out->write( xml

      )->next_section( `<xsl:output method="xml" />` ).
    CALL TRANSFORMATION demo_escaping_xml SOURCE text = text
                                         RESULT XML xml.
    out->write( xml

      )->next_section( `<xsl:output method="html" />` ).
    CALL TRANSFORMATION demo_escaping_html SOURCE text = text
                                          RESULT XML xml.
    out->write( xml

      )->next_section( `<xsl:output method="html" />` ).
    CALL TRANSFORMATION demo_escaping_js SOURCE text = text
                                        RESULT XML xml.
    out->write( xml
      )->end_section(

      )->next_section( `ST` ).
    CALL TRANSFORMATION demo_escaping_st SOURCE text = text
                                        RESULT XML xml.
    out->write( xml ).

    out->display( ).

Description

Four XSLT programs with different output methods are called and an ST program for serializing a text string containing the syntax characters <>&". The results are as follows:

  • No replacements are made in the results of the XSL transformation DEMO_ESCAPING_TEXT with the output method "text".
  • In the results of the XSL transformation DEMO_ESCAPING_XML with the output method "xml", the syntax characters <, > and & are replaced by &lt;, &gt;, and &amp;.
  • In the results of the XSL transformation DEMO_ESCAPING_HTML with the output method "xml", the syntax characters <, > and & are replaced by &lt;, &gt;, and &amp;.
  • In the results of the XSL transformation DEMO_ESCAPING_JS with the output method "html", the syntax characters are not replaced because they are part of JavaScript.

The results of the simple transformation DEMO_ESCAPING_ST match the XSL transformation with the output method "xml". Also, the text string is displayed here as an attribute in which the syntax character " is replaced by &quot;.