sapdev logo background
sapdev logo sapdev logo
Comments

SAP ABAP SXML LIB RENDER documentation, setup help and example usage



Return to SAP documentation index


ARTICLE

sXML Library - Render
To create XML data using sXML Library, the content is passed to a XML writer. A writer of the type is "validating", which means that invalid actions, such as attempts to add an attribute to a value node , raise an
exception . An XML writer creates the XML data as a hierarchical tree-like structure where each token is represented by a node assigned uniquely to a subnode (see
W3C Information Set ). An XML writer can be used to write the data in precisely the same way is read by an XML reader .
The classes and interfaces in sXML
Library available for rendering XML data are organized so that there are separate XML writer classes for different requirements. These classes inherit from the abstract superclass CL_SXML_WRITER . The abstract superclass contains implementations of functions required by all writers and includes the interface IF_SXML_WRITER
, which contains the components shared by all writers. This interface enables all writers to be accessed in the same way. If special
components need to be accessed that are not declared in the interface, a down cast must be used on the class in question.
The specialized writer classes are:
  • CL_SXML_STRING_WRITER

  • Writers in this class render XML data to a byte string.
  • CL_SXML_TABLE_WRITER

  • Writers in this class render XML data to an internal table with a flat byte-like row type.
  • CL_SXML_DATASET_WRITER

  • Writers in this class render XML data to a file on the application server.
  • CL_SXML_HTTP_WRITER

  • Writers of this class render XML data to a HTTP client in ICF .
  • CL_SXML_XOP_WRITER

  • Writers of this class render the data to XOP
    format.
    Each of these classes has a specific factory method, CREATE , for creating appropriate writers. As well as an XOP writer, the required format and the required character format of the data can be passed to each writer. The standard is XML 1.0 format in the UTF-8 character format. The
    XOP writer supports only the XOP format. Instructions on standardization and handling empty elements can be passed to the factory method if permitted by the format.
    The methods of the interface IF_SXML_WRITER enable serial rendering of XML data. There are two basic ways to do this:
  • Token-based rendering

  • Object-oriented rendering

  • A writer cannot be used more than once for the same XML data or for other data. The writer position of a writer is updated while rendering using its methods. The actions permitted by a writer are specified by its current writer position. For writers that do not write to external repositories, the written XML can be read using the method GET_OUTPUT .

    Notes
  • An XML writer in sXML Library can, if the writer position is suitable, be used as an XML target of the statement CALL TRANSFORMATION . The output of the transformation is inserted into the output of the writer and its writer position moved accordingly.

  • The writers in sXML Library do not currently support XML comments, CDATA , sections, or processor instructions.

  • If rendering produces content of elements or attributes, the characters , , , " , and ' are transformed automatically into the associated XML

  • notation .

    Example
    Transformation to XML Writer
    Documentation extract taken from SAP system, � Copyright SAP AG. All rights reserved




    ABAP_SXML_LIB_READER_WRITER
    ABAP_SXML_LIB_RENDER_OO




    comments powered by Disqus