XSLT transformation in BPEL
Hi all
How come most of the BPEL XPath expressions can't be used in a stylesheet, with a PerformXSLT()? It would be nice if you could read preference values from bpel.xml within a stylesheet.
Also, the xslt mapper in JDeveloper is a bit limited, many complex stylesheets cannot be shown with the mapper. Would it be possible to improve the mapper, perhaps just show a "black-box" for the unsupported constructions in the stylesheet?
cheers
/Stig
Stig,
a lot of issues have been fixed with 10.1.3.1 - which is currently in preview - and the reason why you cannot sue most of the bpel ones, is because we provide a special interface that needs to be implemented, and is filled inside the engine only ..
hth clemens
Similar Messages
-
Xslt transformation rules for BPEL
Hi there,
Can anyone advise where I can find the xslt transformation rules for BPEL. I am unable to find the mentioned file "114.XSLTTransformations".
Best regards!
LindaI installed the BPEL process manager and find the 114.XSLTTransformations tutorial project, but the sample xslt file is for a specific xml file but not for a general bpel file, which doesn't help with my problem.
For instance, if I want to transform a bpel file to other formats using xslt, how to handle "partner link" structure of bpel?
Best regards,
Linda -
Oracle XSLT Transformation not preserving space in text element
If we have a BPEL process which is calling a XSLT transformation contains the code similar as below:
for Populating an element with white space only
<tns:TargetField>
<xsl:text disable-output-escaping="yes"> </xsl:text> <!--Note the whitespace , also tried with disable-output-escaping =”no” -->
</tns: TargetField>
Our expected result / output would be:
<tns:TargetField> </tns: TargetField> <!--Note the whitespace -->
But, we get:
<tns:TargetField/>
Oracle XSLT is ignoring the white space even if we try with preserve space in XSD, or in XSLT this is not producing the expected output.
This looks a BUG with Oracle XSLT Transformation .
For a workaround solution we can use below XSLT snippet:
*<tns:TargetField>*
*<xsl:value-of select="string(' ')"/> <!--Note the whitespace -->*
*</tns:TargetField>*
This is returning Output:
*<tns:TargetField> </tns:TargetField> <!--Note the whitespace -->*
Any other work around do you find?
Edited by: panks on Jul 29, 2011 12:37 PMThe workaround only works with one white space, if one put more white spaces, it do not work.
<tns:TargetField>
<xsl:value-of select="string(' ')"/> <!--Note the whitespaces -->
</tns:TargetField>
This is returning Output:
<tns:TargetField> </tns:TargetField> <!--Note the only one whitespace -->
Edited by: user10697506 on Aug 10, 2011 3:27 PM -
Error in ABAP XSLT transformation
Hi,
Im trying to upload some data from XML to abap. But Im getting an error while transforming xml data to internal table.
Here are the details.
XML:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- Edited by XMLSpy® -->
<?xml-stylesheet type="text/xsl" href="ABAP1.xsl"?>
<conceptRevDecisionXml>
<projectInfo>
<projectId>P000755</projectId>
<stage>CON</stage>
<country>Ethiopia</country>
<region>AFRICA</region>
<teamleader>Priya Agarwal</teamleader>
<teamleaderfirstname>Priya</teamleaderfirstname>
<teamleaderlastname>Agarwal</teamleaderlastname>
<actionType>X</actionType>
</projectInfo>
</conceptRevDecisionXml>
XSLT: Transformation
<xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:sapxsl="http://www.sap.com/sapxsl"
>
<xsl:strip-space elements="*"></xsl:strip-space>
<xsl:template match="/">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<PROJID>
<xsl:apply-templates select="//conceptRevDecisionXml"></xsl:apply-templates>
</PROJID>
</asx:values>
</asx:abap>
</xsl:template>
<xsl:template match="conceptRevDecisionXml">
<xsl:for-each select="projectInfo">
<xsl:value-of select="projectId"></xsl:value-of>
<xsl:value-of select="stage"></xsl:value-of>
<xsl:value-of select="country "></xsl:value-of>
<xsl:value-of select="region"></xsl:value-of>
<xsl:value-of select="teamleader"></xsl:value-of>
<xsl:value-of select="teamleaderfirstname"></xsl:value-of>
<xsl:value-of select="teamleaderlastname"></xsl:value-of>
<xsl:value-of select="actionType"></xsl:value-of>
</xsl:for-each>
</xsl:template>
</xsl:transform>
Once I run the program...Im getting an error saying...ABAP XML Formatting error in XML node..
Im new to ABAP-XML parsing..Pls help me where Im going wrong..
Thanks in advance.
Regards,
PriyaHi Priya,
you can try with the below,
1) Create a local ITAB with the structure of the XML,
TYPES: BEGIN OF t_data,
projectid TYPE char30,
stage TYPE char30,
country TYPE char30,
region TYPE char30,
teamleader TYPE char30,
teamleaderfirstname TYPE char30,
teamleaderlastname TYPE char30,
actiontype TYPE char30,
END OF t_data.
2) Create an XSLT prog in "STRANS" with the below code,
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:sap="http://www.sap.com/sapxsl" version="1.0">
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<L_DATA>
<xsl:apply-templates select="//projectInfo"/>
</L_DATA>
</asx:values>
</asx:abap>
</xsl:template>
<xsl:template match="projectInfo">
<conceptRevDecisionXml>
<PROJECTID>
<xsl:value-of select="projectId"/>
</PROJECTID>
<STAGE>
<xsl:value-of select="stage"/>
</STAGE>
<COUNTRY>
<xsl:value-of select="country"/>
</COUNTRY>
<REGION>
<xsl:value-of select="region"/>
</REGION>
<TEAMLEADER>
<xsl:value-of select="teamleader"/>
</TEAMLEADER>
<TEAMLEADERFIRSTNAME>
<xsl:value-of select="teamleaderfirstname"/>
</TEAMLEADERFIRSTNAME>
<TEAMLEADERLASTNAME>
<xsl:value-of select="teamleaderlastname"/>
</TEAMLEADERLASTNAME>
<ACTIONTYPE>
<xsl:value-of select="actionType"/>
</ACTIONTYPE>
</conceptRevDecisionXml>
</xsl:template>
</xsl:transform>
3) Call the transformation as shown below,
CALL TRANSFORMATION zxslt_project ---> "Name of the XSLT prog created above
SOURCE XML l_xml_str ---> Source XML string
RESULT l_data = l_data. ---> ITAB as in step 1 above
Regards,
Chen -
Error when applying a XSLT transformation: No valid XSLT pro
Dear All,
I am getting following error when opening the "General Supplier Data" from Pre-Select Supplier.
Error Message: "Error message: Error when applying a XSLT transformation: No valid XSLT program supplied"
I have already read the related threads on SDN and checked the SAP Note 883896 and others. Even tried running the program UXS_DEL_NAVIGATION_NODE and UXS_ADD_MISSING_XSLT_NAME. But not able to solve the issue.
Kindly Help.
Regards,
SagarHi Masa,
Thanks for reply. I have checked this note. As note suggests, S_DEVELOP auth object is assigned to the user. and it has value *.
Do I need to check anything else?
Regards,
Sagar -
Error when applying a XSLT transformation
central instance
transaction SURVEY
Extras->Target Group Hierarchy-> Import from file
select file
Error when applying a XSLT transformation
dialog instance workingHello Andrey Kuryanov,
Could make sure you describe the problem more clear as much as you can so that community can help you better.
Please provide more details with more detailed steps and actual error messge.
Thanks
Raja Pamireddy
Moderator -
UTF-8 encoding in XSLT transformation
Hello,
I have a problem with a transformation of an ABAP structure into XML. I use the XSLT transformation for this.
My XSLT starts like this:
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:strip-space elements="*"/>
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
I tried many settings I could find posted on the internet, but I did not find one that would allow encoding to UTF-8.
It always encodes to iso-8859-1 which my interface partner cannot read.
Does anyone know a way to force encoding to UTF-8?
Adding a command like <xsl:output encoding="utf-8"/> did not help.
Thanks a lot!
J. EulerHello!
I think I just solved the problem taking a different approach.
In a note here on SDN, a guy from SAP wrote, that the SAP XSLT processor is not able to code anything but the system's default to a string, BUT that it is able to code it to an xstring.
All I did now is add the tag
<xsl:output encoding="utf-8" indent="yes" method="xml"/>
to my xslt program and change the coding in the program accordingly.
The program code is now:
DATA: tempxstring TYPE xstring,
temp_length TYPE i,
conv TYPE REF TO cl_abap_conv_in_ce.
CLEAR tempxstring.
TRY.
CALL TRANSFORMATION
zxxje_tst_xslt
SOURCE omsregdatawebservice = wa_data
RESULT XML tempxstring.
CATCH cx_sy_conversion_base64.
CATCH cx_sy_conv_illegal_date_time.
ENDTRY.
IF tempxstring IS NOT INITIAL.
CLEAR: conv, temp_length, string_xml_result.
conv = cl_abap_conv_in_ce=>create( input = tempxstring ).
conv->read( IMPORTING data = string_xml_result len = temp_length ).
ENDIF.
Thanks anyways for all your help!
regards,
Johannes Euler -
ABAP XSLT transformation - XML to deep structure/nested standard table
Hi all,
I was struggling with this topic recently and couldn't find a single working example or description of a possible solution. So now that I've sorted it out, I did a quick example to elustrate how it works. Here is the code with XML embeded in it and the XSLT follows:
<HR>
<PRE>
*& Report Z_XML2ABAP
*& Author: Jayanta Roy
*& Date: 03/02/2010
REPORT z_xml2abap.
DATA input_xml TYPE string.
TYPES: BEGIN OF t_address,
house_no TYPE string,
street_name TYPE string,
city_name TYPE string,
phone_no TYPE string,
END OF t_address.
TYPES: t_addresses TYPE STANDARD TABLE OF t_address with NON-UNIQUE KEY house_no.
TYPES: BEGIN OF t_person,
firstname TYPE string,
surname TYPE string,
addresses TYPE t_addresses,
END OF t_person.
input_xml = '<Friends>' &&
'<People>' &&
'<FirstName>Homer</FirstName>' &&
'<Surname>Simpson</Surname>' &&
'<Address>' &&
'<HouseNo>123</HouseNo>' &&
'<Street>Evergreen Terrace</Street>' &&
'<City>Springfield</City>' &&
'<PhoneNo>011212321</PhoneNo>' &&
'</Address>' &&
'<Address>' &&
'<HouseNo>7G</HouseNo>' &&
'<Street>Neuclear Power Plant</Street>' &&
'<City>Spring Field</City>' &&
'<PhoneNo>911</PhoneNo>' &&
'</Address>' &&
'</People>' &&
'<People>' &&
'<FirstName>Bart</FirstName>' &&
'<Surname>Simpson</Surname>' &&
'<Address>' &&
'<HouseNo>123x</HouseNo>' &&
'<Street>Evergreen Terracex</Street>' &&
'<City>Springfieldx</City>' &&
'<PhoneNo>011212321x</PhoneNo>' &&
'</Address>' &&
'</People>' &&
'</Friends>' .
DATA lt_person TYPE STANDARD TABLE OF t_person.
TRY.
CALL TRANSFORMATION xslt_person
SOURCE XML input_xml
RESULT all_people = lt_person.
CATCH cx_root.
WRITE 'Problemo!'.
ENDTRY.
WRITE 'Now, debug the program to see the values read from the XML'.
</PRE>
<HR>
and here is the XSLT Transformation program (xslt_person):
<HR>
<PRE>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:sap="http://www.sap.com/sapxsl" version="1.0">
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<ALL_PEOPLE>
<xsl:apply-templates select="//People"/>
</ALL_PEOPLE>
</asx:values>
</asx:abap>
</xsl:template>
<xsl:template match="People">
<ALLMYFRIENDS> <!This element name is not relevent... needed to just group the loop>
<FIRSTNAME>
<xsl:value-of select="FirstName"/>
</FIRSTNAME>
<SURNAME>
<xsl:value-of select="Surname"/>
</SURNAME>
<ADDRESSES>
<xsl:for-each select="Address">
<ADDRESS> <!This element name is not relevent... needed to just group the loop>
<HOUSE_NO>
<xsl:value-of select="HouseNo"/>
</HOUSE_NO>
<STREET_NAME>
<xsl:value-of select="Street"/>
</STREET_NAME>
<CITY_NAME>
<xsl:value-of select="City"/>
</CITY_NAME>
<PHONE_NO>
<xsl:value-of select="PhoneNo"/>
</PHONE_NO>
</ADDRESS>
</xsl:for-each>
</ADDRESSES>
</ALLMYFRIENDS>
</xsl:template>
</xsl:transform>
</PRE>
<HR>
HTH,
Jayanta.thanks a LOT Jayanta..
I was looking for an XSLT example for some time.. this one atleast got me started in the right direction..
THANKS -
XSLT transformation in XML to ABAP: special characters issue
Hi,
I am parsing well-formed XML file that has the following data (:
<projects><project><name>Wallis & Futuna</name></project></projects>
I use XSLT transformation:
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" version="1.0">
<xsl:strip-space elements="*"/>
<xsl:template match="projects">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<PROJECTS>
<xsl:for-each select="project">
<PROJECT>
<NAME>
<xsl:value-of select="name"/>
</NAME>
</PROJECT>
</xsl:for-each>
</PROJECTS>
</asx:values>
</asx:abap>
</xsl:template>
</xsl:transform>
If I use the above example without &amp; everything works fine, but the original XML fails with exception CX_XSLT_DESERIALIZATION_ERROR and message "Error during deserialization". Googling around did not give an answer.
Any words of wisdom?
Edited by: Alexei Isaev on Apr 26, 2011 5:04 AM
Edited by: Alexei Isaev on Apr 26, 2011 5:05 AMHi,
Please visit the following link for reference.
http://help.sap.com/abapdocu_70/en/ABAPCALL_TRANSFORMATION.htm
Thanks & Regards,
Harish -
Hi,
hope anybody can help.
I try to transform a object to another object via XSLT transformation.
Here is my coding :
DATA: wa_transformation TYPE y0dpl_structures.
DATA: obj_import TYPE abap_trans_srcbind_tab,
wa_import TYPE abap_trans_srcbind.
DATA: obj_export TYPE abap_trans_resbind_tab,
wa_export TYPE abap_trans_resbind.
DATA: obj_data TYPE REF TO data.
* Get transformation data
SELECT SINGLE *
INTO wa_transformation
FROM y0dpl_structures
WHERE filetype = i_file_type.
* Create table with internal structure
CREATE DATA e_data TYPE (wa_transformation-structure_name).
wa_import-name = 'IMPORT'.
GET REFERENCE OF i_data INTO wa_import-value.
APPEND wa_import TO obj_import.
* Call transformation
CALL TRANSFORMATION (wa_transformation-transformation)
SOURCE (obj_import)
RESULT (obj_export).
i_data is a import parameter from type "ref to data".
My problem is, that "Call transformation" makes a shortdump when calling them.
Regards,
AntonFound a solution for my problem. Now it works!
DATA: wa_transformation TYPE y0dpl_structures.
DATA: obj_import TYPE abap_trans_srcbind_tab,
wa_import TYPE abap_trans_srcbind.
DATA: obj_data TYPE REF TO data.
DATA: wa_return TYPE bapiret2.
FIELD-SYMBOLS: <data> TYPE ANY TABLE.
* Get transformation data
SELECT SINGLE *
INTO wa_transformation
FROM y0dpl_structures
WHERE filetype = i_file_type.
IF sy-subrc IS INITIAL.
* Create table with internal structure
CREATE DATA e_data TYPE STANDARD TABLE OF (wa_transformation-structure_name).
ASSIGN i_data->* TO <data>.
wa_import-name = 'IMPORT'.
GET REFERENCE OF <data> INTO wa_import-value.
APPEND wa_import TO obj_import.
* Call transformation
CALL TRANSFORMATION (wa_transformation-transformation)
SOURCE (obj_import)
RESULT export_data = e_data.
ELSE.
MOVE: 'Y0_DPL' TO wa_return-id,
'E' TO wa_return-type,
'108' TO wa_return-number.
APPEND wa_return TO e_return.
CLEAR: wa_return.
ENDIF. -
BI Admin Tool and XSLT transformation for XML data source - How it works ?
Hello,
There is a possibility to import data from XML data source using BI Admin Tool.
In the import window we can point XSLT file. What is the purpose of that XSLT field?
Why I am asking ?
I thought it is smth like XSLT processor, but simply it doesnt work.
What I did:
- I pointed XML data source file
- I pointed XSLT transformation file
- Click OK, and still get the message that the XML file structure is not supported
After that I transformed that XML file with some desktop XSLT processor using the same XSLT file, and I tried to connect that file directly using BI Admin tool.Then it works. So it means that the transformation is ok.
So basically one question comes to my mind in that situation:
What is the purpose of XSLT field in BI Admin Tool when it comes to XML data source ?
(it doesnt look like XSLT processor)
Greetings
/MichalHi Mariano
Why you need to use XSLT for transforming XML file into ABAP table
Code is a part of some ABAP report. Looks like it is reading a file from file system and updating table after transformation
If you have requirement like you need to read XML file and then insert the data into a SAP table
You can use
File to RFC
File to Proxy scenario using SAP PI.
Please provide more inputs on requirement to help
Thanks
Gaurav -
XSLT transformation for XML to ABAP internal table
Hi, can anyone please tell me how it should be the xslt tranformation to conver this xml
<Embargos_ARBA_DOC>
<ns:Embargos_ARBA_MT
xmlns:ns="un:swissmedical:sap:proxy:embargos_arba:file">
<Embargos_ARBA_MT>
<FECHA>20081101</FECHA>
<CUIT>50000002124</CUIT>
<MONTO>0000013794090</MONTO>
<RAZON_SOCIAL>RAUL ARMANDO CUNQUEIRO S.A.C.I.</RAZON_SOCIAL>
</Embargos_ARBA_MT>
<Embargos_ARBA_MT>
<FECHA>20081101</FECHA>
<CUIT>55000001456</CUIT>
<MONTO>0000001144410</MONTO>
<RAZON_SOCIAL>PARODI ESTEBAN ARMANDO</RAZON_SOCIAL>
</Embargos_ARBA_MT>
</ns:Embargos_ARBA_MT>
</Embargos_ARBA_DOC>
to this abap Table....
DATA: BEGIN OF i_embargos_arba_doc occurs 0,
fecha TYPE d,
cuit TYPE char11,
monto TYPE char13,
razon_social(120),
END OF i_embargos_arba_mt.
so i can transform it with this sentence
CALL TRANSFORMATION ('embargos_transformation')
SOURCE XML source
RESULT Embargos_ARBA_DOC = embargos.
pls i need help because i am unable to create this xslt transformation...
I will give the highest rewards points to the one who can help me.
thanks!
marianoHi Mariano
Why you need to use XSLT for transforming XML file into ABAP table
Code is a part of some ABAP report. Looks like it is reading a file from file system and updating table after transformation
If you have requirement like you need to read XML file and then insert the data into a SAP table
You can use
File to RFC
File to Proxy scenario using SAP PI.
Please provide more inputs on requirement to help
Thanks
Gaurav -
Hi,
I am trying to upload one xml file and filling an internal table with the content and a XSLT transformation. After uploading the file and make the first transformation i obtein one string with all the fields without tags and separated by #. so when i try to call transformation for filling the internal table i obtein the exception cx_xslt_exception with the message 'No valid source context supplied'.
I would like to know if i am having poroblems with unicode characters. Is there any example made in sap that i can test or does anybody have had any similar problem?.
My string
<?xml version="1.0" encoding="utf-16"?>#######S####L####08##2######
Thanks in advance
regardsHi Verma,
You're not transforming anything from your input to the output shown. You're actually constructing a new Output. I don't see anything being transformed from input to output.
Anyway, if you need a XSLT to be used to get the above Output in map, following XSLT shall help you:
<?xml version="1.0" encoding="UTF-16"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:var="http://schemas.microsoft.com/BizTalk/2003/var" exclude-result-prefixes="msxsl var s0" version="1.0" xmlns:s0="http://xmlns.service/1" xmlns:ns1="http://xmlns.types/1.0" xmlns:ns0="http://xmlns.OutService/2">
<xsl:output omit-xml-declaration="yes" method="xml" version="1.0" />
<xsl:template match="/">
<xsl:apply-templates select="/s0:Request" />
</xsl:template>
<xsl:template match="/s0:Request">
<Output xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://xmlns.OutService/2">
<outContext xmlns:ns0="http://xmlns.OutService/2" xsi:type="ns0:ReferenceContext" xmlns="http://xmlns.types/1.0" />
</Output>
</xsl:template>
</xsl:stylesheet>
If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply. -
Hi together!
Hope anybody can help.
I have the follow XML structure :
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">¶
<asx:values>¶
<IMPORT>¶
<Y0DPL_LATAM_INV_FILE_UPLOAD>¶
<DATA>222358 1NU 480350 29102007VENDA DE MERCADORIA 30</DATA>¶
</Y0DPL_LATAM_INV_FILE_UPLOAD>¶
<Y0DPL_LATAM_INV_FILE_UPLOAD>¶
<DATA>35403474</DATA>¶
</Y0DPL_LATAM_INV_FILE_UPLOAD>¶
<Y0DPL_LATAM_INV_FILE_UPLOAD>¶
<DATA>35403822</DATA>¶
</Y0DPL_LATAM_INV_FILE_UPLOAD>¶
<Y0DPL_LATAM_INV_FILE_UPLOAD>¶
<DATA>4480350</DATA>¶
</Y0DPL_LATAM_INV_FILE_UPLOAD>¶
<Y0DPL_LATAM_INV_FILE_UPLOAD>¶
<DATA>220089</DATA>¶
</Y0DPL_LATAM_INV_FILE_UPLOAD>¶
<Y0DPL_LATAM_INV_FILE_UPLOAD>¶
<DATA>3540347</DATA>¶
</Y0DPL_LATAM_INV_FILE_UPLOAD>¶
<Y0DPL_LATAM_INV_FILE_UPLOAD>¶
<DATA>4480351 </DATA>¶
</Y0DPL_LATAM_INV_FILE_UPLOAD>¶
</IMPORT>¶
</asx:values>¶
</asx:abap>
After the XSLT Transformation i need the data in this structure :
<data>
<invoice>
<id>222358</id>
<item>35403474</item>
<item>35403822</item>
<code>4480350</code>
</invoice>
<invoice>
<id>220089</id>
<item>35403474</item>
<code>4480351</code>
</invoice>
</data>
I tried to group the data with the tag "xsl:for-each-group". But i get no result.
Regards,
AntonHi,
no one with a good hint?
Regards,
Anton -
XSLT transformation for deep structure .....
Hello,
I am trying to do an XSLT transformation for a deep structure HAP_S_PDF_DOCUMENT (see it in SE11), I have managed to achieve this. but not with perfection. i still get some redundant data and data have been experiencing Data duplication. I was hoping if you people point out the what is wrong in the transfromation. The data repeats for every once under node DATA and then under node of the refered structure name. Besides it also create a blank row even if the record is 0. I am mostly facing problem with nodes T_ELEMENTS. T_COL_CELL and T_FIELD. These are the nested structures, Can anybody help / guide me to achieve these transforamtion?
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" version="1.0">
<xsl:strip-space elements="*"/>
<xsl:template match="HAP_DOCUMENT">
<xsl:element name="HAP_DOCUMENT" namespace="">
<xsl:apply-templates select="MAIN_HEADER"/>
<xsl:apply-templates select="T_ELEMENTS"/>
<xsl:apply-templates select="T_STAT_CHG_BUTTONS"/>
<xsl:apply-templates select="S_APPRAISAL_ID"/>
<xsl:apply-templates select="S_HEADER"/>
<xsl:apply-templates select="POSITIONS"/>
<xsl:element name="STAT_CHG_BUTTON">
<xsl:value-of select="../STAT_CHG_BUTTON"/>
</xsl:element>
<xsl:element name="OFFLINE_ID">
<xsl:value-of select="OFFLINE_ID"/>
</xsl:element>
<xsl:element name="BSP_FLAG">
<xsl:value-of select="BSP_FLAG"/>
</xsl:element>
<xsl:element name="ROLE">
<xsl:value-of select="ROLE"/>
</xsl:element>
<xsl:element name="APPRAISAL_YEAR">
<xsl:value-of select="APPRAISAL_YEAR"/>
</xsl:element>
</xsl:element>
</xsl:template>
<xsl:template match="MAIN_HEADER">
<xsl:element name="MAIN_HEADER">
<xsl:for-each select="ZBGAPR_FORM_HEADER">
<xsl:element name="DATA">
<xsl:copy-of select="child::node()"/>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
<xsl:template match="T_ELEMENTS">
<xsl:element name="T_ELEMENTS">
<xsl:for-each select="ZHAP_S_PDF_ELEMENTS">
<xsl:element name="DATA">
<xsl:apply-templates select="T_COL_CELL"/>
<xsl:copy-of select="child::node()"/>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
<xsl:template match="T_COL_CELL">
<xsl:element name="T_COL_CELL">
<xsl:for-each select="ZHAP_S_PDF_COL_CELL">
<xsl:element name="DATA">
<xsl:apply-templates select="T_FIELD"/>
<xsl:copy-of select="child::node()"/>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
<xsl:template match="T_FIELD">
<xsl:element name="T_FIELD">
<xsl:for-each select="ZHAP_S_PDF_FIELD">
<xsl:element name="DATA">
<xsl:apply-templates select="T_VAL_VALUES"/>
<xsl:apply-templates select="T_VAL_RANGES"/>
<xsl:copy-of select="child::node()"/>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
<xsl:template match="T_VAL_VALUES">
<xsl:element name="T_VAL_VALUES">
<xsl:for-each select="HAP_S_BODY_CELL_VAL_VALUES">
<xsl:element name="DATA">
<xsl:copy-of select="child::node()"/>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
<xsl:template match="T_VAL_RANGES">
<xsl:element name="T_VAL_RANGES">
<xsl:for-each select="HAP_S_BODY_CELL_VAL_RANGES">
<xsl:element name="DATA">
<xsl:copy-of select="child::node()"/>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
<xsl:template match="T_STAT_CHG_BUTTONS">
<xsl:element name="T_STAT_CHG_BUTTONS">
<xsl:for-each select="HAP_S_BODY_CELL_VAL_RANGES">
<xsl:element name="DATA">
<xsl:copy-of select="child::node()"/>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
<xsl:template match="S_APPRAISAL_ID">
<xsl:element name="S_APPRAISAL_ID">
<xsl:copy-of select="node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="S_HEADER">
<xsl:element name="S_HEADER">
<xsl:apply-templates select="S_TEXTS"/>
<xsl:apply-templates select="T_APPRAISER"/>
<xsl:apply-templates select="T_APPRAISEE"/>
<xsl:apply-templates select="T_PART_APPRAISER"/>
<xsl:apply-templates select="T_OTHERS"/>
<xsl:apply-templates select="S_STATUS"/>
<xsl:apply-templates select="S_DATES"/>
<xsl:apply-templates select="S_DISPLAY"/>
</xsl:element>
</xsl:template>
<xsl:template match="POSITIONS">
<xsl:element name="POSITION">
<xsl:for-each select="ZBGHR_APR_POSITION_DET">
<xsl:element name="DATA">
<xsl:copy-of select="child::node()"/>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
<xsl:template match="S_TEXTS">
<xsl:element name="S_TEXTS">
<xsl:copy-of select="node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="T_APPRAISER">
<xsl:element name="T_APPRAISER">
<xsl:for-each select="HAP_S_PDF_APPRAISER">
<xsl:element name="DATA">
<xsl:copy-of select="child::node()"/>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
<xsl:template match="T_APPRAISEE">
<xsl:element name="T_APPRAISEE">
<xsl:for-each select="HAP_S_PDF_APPRAISEE">
<xsl:element name="DATA">
<xsl:copy-of select="child::node()"/>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
<xsl:template match="T_OTHERS">
<xsl:element name="T_OTHERS">
<xsl:for-each select="HAP_S_PDF_OTHERS">
<xsl:element name="DATA">
<xsl:copy-of select="child::node()"/>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
<xsl:template match="T_PART_APPRAISER">
<xsl:element name="T_PART_APPRAISER">
<xsl:for-each select="HAP_S_PDF_PART_APPRAISERS">
<xsl:element name="DATA">
<xsl:copy-of select="child::node()"/>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
<xsl:template match="T_PART_APPRAISER">
<xsl:element name="T_PART_APPRAISER">
<xsl:for-each select="HAP_S_PDF_PART_APPRAISERS">
<xsl:element name="DATA">
<xsl:copy-of select="child::node()"/>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
<xsl:template match="S_STATUS">
<xsl:element name="S_STATUS">
<xsl:copy-of select="node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="S_DATES">
<xsl:element name="S_DATES">
<xsl:copy-of select="node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="S_DISPLAY">
<xsl:element name="S_DISPLAY">
<xsl:copy-of select="node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="STAT_CHG_BUTTON">
</xsl:template>
<xsl:template match="OFFLINE_ID">
</xsl:template>
<xsl:template match="BSP_FLAG">
</xsl:template>
<xsl:template match="ROLE">
</xsl:template>
<xsl:template match="APPRAISAL_YEAR">
</xsl:template>
</xsl:transform>
Regards,
Shishir.P"XSLT transformation for a deep structure"
which way abap to xml or xml to abap?
you may want to check this thread
Re: Problem converting XML back to structure using XSLT
Maybe you are looking for
-
On March 14th I bought an iPhone the wi-fi did not work, I called Verizon support after hrs and days they could not help.(I purchase it on-line from Verizon.com) So I went to the local Verizon store was there for about 2 hrs and finally they said to
-
HT1977 How many times can you download an app?
I have purchased an app from itunes store, my family has alot of devices and i want that app on all of them. we upgrade alot so how many times can you upload an app? Unlimited?
-
Send and Receive script for Outlook 2011 not working
I used to have a script to send and receive mail in Entourage. When I change the script to: tell application "Microsoft Outlook" connect to every pop account connect to every imap account send end tell It hangs at the second line and I am not able to
-
Best practice for component layout?
Hi,can people tell me their views on best practice in this area, using JSF. Eg, say I want this: LabelSml InputField LabelLarge InputField... ie 2 labels, 2 fields, vertically alligned, and with some space between the label and the field.
-
i am not able to save the crystal reports to the BO enterprise. Regards ushakiran