Ansicht
Dokumentation

ABENABAP_SXML_LIB_RENDER - ABAP SXML LIB RENDER

ABENABAP_SXML_LIB_RENDER - ABAP SXML LIB RENDER

Vendor Master (General Section)   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- Rendern

Um XML-Daten mit der sXML-Bibliothek zu erzeugen, werden die Inhalte an einen XML-Writer übergeben. Ein solcher Writer ist validierend, d.h. ungültige Aktionen wie beispielsweise der Versuch, einem Werteknoten ein Attribut hinzuzufügen führt zu einer Ausnahme. Ein XML-Writer erzeugt die XML-Daten als hierarchische baumartige Struktur, in der jeder Token durch einen Knoten repräsentiert wird, der eindeutig einem Oberknoten zugeordnet werden kann (siehe W3C Information Set). Mit einem XML-Writer können die Daten genau so geschrieben werden, wie sie von einem XML-Reader gelesen werden.

Die Klassen und Interfaces der sXML-Bibliothek, die für das Rendern von XML-Daten zur Verfügung stehen, sind so organisiert, dass es für unterschiedliche Anforderungen eigene XML-Writer-Klassen gibt, die von einer abstrakten Oberklasse CL_SXML_WRITER erben. Die abstrakte Oberklasse enthält Implementierungen der von allen Writern benötigten Funktionalität und bindet das Interface IF_SXML_WRITER ein, das die Komponenten enthält, die alle Writer gemeinsam haben. Das Interface ermöglicht einen einheitlichen Zugang zu allen Writern . Wenn Zugriff auf spezielle Komponenten benötigt werden, die nicht im Interface deklariert sind, muss mit einem Downcast auf die entsprechende Klasse gearbeitet werden.

Die spezialisierten Writer-Klassen sind:

Writer dieser Klasse rendern XML-Daten in einen Bytestring.
Writer dieser Klasse rendern XML-Daten in eine internen Tabelle mit flachem byteartigen Zeilentyp.
Writer dieser Klasse rendern XML-Daten in eine Datei auf dem Hostrechner der aktuellen .
Writer dieser Klasse rendern XML-Daten in einen HTTP-Client des ICF.
Writer dieser Klasse rendern die Daten in das XOP-Format.

Jede dieser Klassen hat eine spezifische Factory-Methode CREATE um einen entsprechenden Writer zu erzeugen. Dabei kann jedem Writer außer einem XOP-Writer das gewünschte Format und die gewünschte Zeichendarstellung der Daten übergeben werden. Standard ist das Format XML 1.0 in der Zeichendarstellung UTF-8. Der XOP-Writer unterstützt ausschließlich das XOP-Format. Angaben wie zur Normalisierung und zur Behandlung von leeren Elementen können bei geeignetem Format der Factory-Methode übergeben werden.

Die Methoden des Interface IF_SXML_WRITER ermöglichen das serielle Rendern von XML-Daten. Hierfür gibt es zwei prinzipielle Möglichkeiten:

Ein Writer kann nicht mehrfach für die gleichen oder andere XML-Daten verwendet werden. Die Schreibposition eines Writers wird während des Renderns mit seinen Methoden fortgeschrieben. Die mit einem Writer möglichen Aktionen hängen von der aktuellen Schreibposition ab. Die geschriebenen XML-Daten können bei Writern, die nicht in externe Ablagen schreiben, mit der Methode GET_OUTPUT ausgelesen werden.

Hinweise

  • Ein XML-Writer der sXML-Bibliothek kann bei geeigneter Schreibposition als XML-Ziel der Anweisung CALL TRANSFORMATION verwendet werden. Die Ausgabe der Transformation wird in die Ausgabe des Writers eingefügt und seine Schreibposition entsprechend weiter bewegt.
  • Die Writer der sXML-Bibliothek unterstützen derzeit keine XML-Kommentare, keine CDATA-Abschnitte und keine Prozessorinstruktionen.
  • Wenn beim Rendern Inhalte von Elementen oder Attributen erzeugt werden, werden die Zeichen , >, &, " und ' automatisch in die zugehörige XML-Notation umgesetzt.

Transformation in XML-Writer






BAL Application Log Documentation   BAL_S_LOG - Application Log: Log header data  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 6269 Date: 20240523 Time: 151839     sap01-206 ( 90 ms )