Code: Alles auswählen.
TYPES: BEGIN OF ts_person,
cust_id(4) TYPE n,
firstname(20) TYPE c,
lastname(20) TYPE c,
END OF ts_person.
* Table for the XML content
DATA: gt_itab TYPE STANDARD TABLE OF char2048.
* Table and work area for the data to fill the XML file with
DATA: gt_person TYPE STANDARD TABLE OF ts_person,
gs_person TYPE ts_person.
* Source table that contains references
* of the internal tables that go into the XML file
DATA: gt_source_itab TYPE abap_trans_srcbind_tab,
gs_source_wa TYPE abap_trans_resbind.
* For error handling
DATA: gs_rif_ex TYPE REF TO cx_root,
gs_var_text TYPE string.
* Fill the internal table
gs_person-cust_id = '3'.
gs_person-firstname = 'Bill'.
gs_person-lastname = 'Gates'.
APPEND gs_person TO gt_person.
gs_person-cust_id = '4'.
gs_person-firstname = 'Frodo'.
gs_person-lastname = 'Baggins'.
APPEND gs_person TO gt_person.
* Fill the source table with a reference to the data table.
* Within the XSLT stylesheet, the data table can be accessed with
* "IPERSON".
GET REFERENCE OF gt_person INTO gs_source_wa-value.
gs_source_wa-name = 'IPERSON'.
APPEND gs_source_wa TO gt_source_itab.
* Perform the XSLT stylesheet
TRY.
CALL TRANSFORMATION z_abap_to_xml
SOURCE (gt_source_itab)
RESULT XML gt_itab.
CATCH cx_root INTO gs_rif_ex.
gs_var_text = gs_rif_ex->get_text( ).
MESSAGE gs_var_text TYPE 'E'.
ENDTRY.
Code: Alles auswählen.
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:sap="http://www.sap.com/sapxsl" version="1.0">
<xsl:output encoding="iso-8859-1" indent="yes" method="xml" version="1.0"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<CUSTOMERS>
<xsl:apply-templates select="//IPERSON/item"/>
</CUSTOMERS>
</xsl:template>
<xsl:template match="IPERSON/item">
<item>
<customer_id>
<xsl:value-of select="CUST_ID"/>
</customer_id>
<first_name>
<xsl:value-of select="FIRSTNAME"/>
</first_name>
<last_name>
<xsl:value-of select="LASTNAME"/>
</last_name>
</item>
</xsl:template>
</xsl:transform>