XSLT mapping requirement.. Only numbers need to be picked..!!
Hi ,
XSLT mapping requirement.
I will be getting the value as mix of numbers and alphabets like " 1343: -BIZ USA ".
I need to pick only number '1343' from the input field.
Is there any function in XSLT to pick only numbers and ignore alphabets?
Thanks
Deepthi
Hi There,
The below piece of code could cater your requirement, for flltering the non digit chars from your field,
<xsl:value-of select="translate(<your field name>, translate(<your field name>, '0123456789', ''), '')"/>
This would separate the non numeric chars from your field in mapping.
Let me know this works.
Regards,
Rajesh Kumar T
Similar Messages
-
Hi,
I have a requirement where I want to transform the incoming XML from one structure to another (basically dropping the namespaces/prefixes etc but keeping the structure) and have reached the conclusion this can be achieved using an XSLT mapping.
Hoowever, can you please point me in the irection of some good websites that have good XSLT examples and code snippets ?
Thanks
Colin.Hi Colin,
I have done some simple scenario regarding this XSLT mapping.This is the simple piece of code tat i have executed.Hope it will be helpful to you.And refetr to w3schools.com for more info.
?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<MT_EMP_TARGET>
<xsl:for-each select="//EMP_DATA">
<EMP_DATA>
<xsl:variable name="fname" select="//EMP_DATA/First_Name"/>
<xsl:variable name="lname" select="//EMP_DATA/Last_Name"/>
<Emp_Code><xsl:value-of select="//EMP_DATA/Emp_Code"/></Emp_Code>
<Name><xsl:value-of select="concat($fname,' ',$lname)"/></Name>
<Join_Dt><xsl:value-of select="//EMP_DATA/Join_Dt"/></Join_Dt>
<Designation><xsl:value-of select="//EMP_DATA/Level"/></Designation>
<Dept><xsl:value-of select="//EMP_DATA/Dept"/></Dept>
</EMP_DATA>
</xsl:for-each>
</MT_EMP_TARGET>
</xsl:template>
</xsl:stylesheet>
And here is my input data:
?xml version="1.0" encoding="UTF-8"?>
<MT_EMP>
<EMP_DATA>
<Emp_Code>2994</Emp_Code>
<First_Name>Gary</First_Name>
<Last_Name>Moore</Last_Name>
<Join_Dt>02/21/05</Join_Dt>
<Dept>SAP</Dept>
<Level>P3</Level>
</EMP_DATA>
<EMP_DATA>
<Emp_Code>2995</Emp_Code>
<First_Name>Dolly</First_Name>
<Last_Name>Smith</Last_Name>
<Join_Dt>12/11/06</Join_Dt>
<Dept>CSD</Dept>
<Level>P4</Level>
</EMP_DATA>
<EMP_DATA>
<Emp_Code>2996</Emp_Code>
<First_Name>Sam</First_Name>
<Last_Name>Brown</Last_Name>
<Join_Dt>04/01/05</Join_Dt>
<Dept>Java</Dept>
<Level>P3</Level>
</EMP_DATA>
<EMP_DATA>
<Emp_Code>2997</Emp_Code>
<First_Name>Kim</First_Name>
<Last_Name>Larson</Last_Name>
<Join_Dt>02/02/06</Join_Dt>
<Dept>SAP</Dept>
<Level>P3</Level>
</EMP_DATA>
</MT_EMP>
Cheers,
Prasanthi. -
Hi All,
I have a requirement in xslt mapping (java)where i need to find the existence of a node , if it is existed the node should be created with the value on target side , if it is not existed the empty node should be created in the target.
Thanks in Advance
PrasadHello,
You can use the "<b>choose</b>" test:
<u>Here an example:</u>
<xsl:choose>
<xsl:when test="InvoiceType/InvoiceTypeCoded = 'DebitMemo'">
<InvoiceType stdValue="380"/>
</xsl:when>
<xsl:when test="InvoiceType/InvoiceTypeCoded = 'CreditMemo'">
<InvoiceType stdValue="381"/>
</xsl:when>
</xsl:choose>
If you have only one test without an else you can use the "<b>if</b>" test:
<u>Here an example:</u>
<xsl:if test="InvoiceIssueDate != 'N/A'">
<InvoiceDate/>
</xsl:if>
You can find more detailed on this site:
http://www.zvon.org/xxl/XSLTreference/Output/index.html
Regards,
Chris -
How to Count schedule lines in IDoc ORDERS05 using XSLT Mapping
Hi Experts,
In a Scenario where we are sending Purchase order (ORDERS05) to SAP SNC using XSLT Mapping,
where in we need to count the no. of schedule lines against the Purchase Order line.
As in Schedule line segment there is no such provision, so it needs to be handle in XSLT mapping to count the schedule lines.
Can you all please guide me how to go about the same.
Regards,
Nitin PHi Satish,
Thank you very much for the reply,
as there is only Quantity and other information is maintained against schedule lines how we can count the schedule line repeatation against PO line ? Is that very simple as you suggested or some other consideration also needs to be taken.
Please clarify the same and let me also know if there are some standard documents also for the same.
Regards,
Nitin P -
Java Mapping, XSLT Mapping, ABAP Mapping
Hi Experts,
Could any one explain what is the main features of the following Mapping. How to pick the mapping?
Java Mapping - When to use and what is the advantage.
ABAP Mapping - When to use and what is the advantage.
XSLT Mapping - When to use and what is the advantage.
Graphical Mapping - When to use and what is the advantage.
cheers,
SuneeThere are 4 types of mapping in XI
1. Graphical Mapping
2. XSLT Mapping
3. JAVA Mapping
4. ABAP Mapping
When to use Message mapping
1 When the logic for your mapping is simple and straight forward, you can use
Advantages of message mapping
1)Easy to use.
2) has GUI drag and drop.
3) used for simple mapping cases
4) it does not involve any complex logic
Disadvantages of message mapping
1)has limitation in terms of complex hierarchy
When to use Java mapping
1) Java mapping are used when graphical mapping cannot help you.
Advantages of Java Mapping
1)you can use Java APIs and Classes in it.
2) file look up or a DB lookup is possible
3) DOM is easier to use with lots of classes to help you create nodes and elements.
Disadvantages of Java mapping
1)SAX parser is not easy to develop
2)DOM parser is intensive
3) Java knowledge is required
4) bit complexer
XSLT Mapping - When to use
1)When the required output is other than XML like Text, Html or XHTML (html displayed as XML )
2)When default namespace coming from graphical mapping is not required or is to be changed as per requirements.
3)When data is to be filtered based on certain fields (considering File as source)
4)When data is to be sorted based on certain field (considering File as source)
5)When data is to be grouped based on certain field (considering File as source)
Advantages of using XSLT mapping
1)XSLT program itself defines its own target structure.
2)XSLT programs can be imported into SAP XI. Message mapping step can be avoided. One can directly go for interface mapping once message interfaces are created and mapping is imported.
3)XSLT provides use of number of standard XPath functions that can replaces graphical mapping involving user defined java functions easily.
4)File content conversion at receiver side can be avoided in case of text or html output.
5)Multiple occurrences of node within tree (source XML) can be handled easily.
6)XSLT can be used in combination with graphical mapping.
7)Multi-mapping is also possible using xslt.
8)XSLT can be used with ABAP and JAVA Extensions
Disadvantages of using XSLT mapping
1)Resultant XML payload can not be viewed in SXMB_MONI if not in XML format (for service packs < SP14).
2)Interface mapping testing does not show proper error description. So errors in XSLT programs are difficult to trace in XI but can be easily identified outside XI using browser.
3)XSLT mapping requires more memory than mapping classes generated in Java.
4)XSLT program become lengthier as source structure fields grows in numbers.
5)XSLT program sometimes become complex to meet desired functionality.
6)Some XSL functions are dependent on version of browser.
Advantages of Abap Mapping
1) A person comfortable with OOABAP can go for ABAP mapping instead.
Disadvantages of Abap Mapping
1) Abap knowledge is required
2) bit compexer
For further info on each of the mapping, refer to these links,
Graphical Mapping,
http://help.sap.com/saphelp_nw04/helpdata/en/6d/aadd3e6ecb1f39e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/43/c4cdfc334824478090739c04c4a249/content.htm
XSLT Mapping
http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/content.htm
http://www.w3.org/TR/xslt20/
Java Mapping
http://help.sap.com/saphelp_nw04/helpdata/en/e2/e13fcd80fe47768df001a558ed10b6/content.htm
DOM parser API
http://java.sun.com/j2se/1.4.2/docs/api/org/w3c/dom/package-frame.html
Check this blog on Mapping:
/people/ravikumar.allampallam/blog/2005/02/10/different-types-of-mapping-in-xi
Also, check this thread for more info,
Different types of Mapping in XI -
I just want to know in what kind of mapping requirements we can go with xslt mapping which is not supported in graphical mapping?
Please help me with few mapping requirements which is not supported in graphical mapping but we can achive using xslt mapping.Hi serach in SDN you will get everything ,...
anyways refer these links
A few example in which an XSLT mapping can be used:-
When the required output is other than XML like Text, Html or XHTML (html displayed as XML)
When default namespace coming from graphical mapping is not required or is to be changed as per requirements.
When data is to be filtered based on certain fields (considering File as source)
When data is to be sorted based on certain field (considering File as source)
When data is to be grouped based on certain field (considering File as source)
Advantages of using XSLT mapping
XSLT program itself defines its own target structure.
XSLT programs can be imported into SAP XI. Message mapping step can be avoided. One can directly go for interface mapping once message interfaces are created and mapping is imported.
XSLT provides use of number of standard XPath functions that can replaces graphical mapping involving user defined java functions easily.
File content conversion at receiver side can be avoided in case of text or html output.
Multiple occurrences of node within tree (source XML) can be handled easily.
XSLT can be used in combination with graphical mapping.
Multi-mapping is also possible using xslt.
XSLT can be used with ABAP and JAVA Extensions.
Disadvantages of using XSLT mapping
Resultant XML payload can not be viewed in SXMB_MONI if not in XML format (for service packs < SP14).
Interface mapping testing does not show proper error description. So errors in XSLT programs are difficult to trace in XI but can be easily identified outside XI using browser.
XSLT mapping requires more memory than mapping classes generated in Java.
XSLT program become lengthier as source structure fields grows in numbers.
XSLT program sometimes become complex to meet desired functionality.
Some XSL functions are dependent on version of browser.
Follow these links.
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/01a57f0b-0501-0010-3ca9-d2ea3bb983c1
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9692eb84-0601-0010-5ca0-923b4fb8674a
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/006aa890-0201-0010-1eb1-afc5cbae3f15
Some scenarios
/people/sap.user72/blog/2005/03/15/using-xslt-mapping-in-a-ccbpm-scenario
/people/anish.abraham2/blog/2005/12/22/file-to-multiple-idocs-xslt-mapping
The following links give u step-by-step solution for XSLT mapping:
Generic XSLT Mapping for SAP XI,Part I
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/01a57f0b-0501-0010-3ca9-d2ea3bb983c1
Generic XSLT Mapping for SAP XI,Part II
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9692eb84-0601-0010-5ca0-923b4fb8674a
XSLT: Recursive Templates
/people/udo.martens/blog/2006/04/26/xslt-recursive-templates
Easy RFC lookup from XSLT mappings using a Java helper class
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/05a3d62e-0a01-0010-14bc-adc8efd4ee14
Regds
Abhishek -
Advantages of using XSLT mapping
Can any one explain me the advantages of using XSLT mapping compare to graphical.java and abap mappings
Hi
Please go through the below links for details on XSLT Mappings..
XSLT Mapping
/people/udo.martens/blog/2006/04/26/xslt-recursive-templates
Thread:
Sample XSLT mapping required
XSLT Mapping Links::->
/people/prasadbabu.nemalikanti3/blog/2006/03/30/xpath-functions-in-xslt-mapping
/people/sreekanth.babu2/blog/2005/01/05/design-time-value-mappings-in-xslt
/people/anish.abraham2/blog/2005/12/22/file-to-multiple-idocs-xslt-mapping
XSLT Mapping with java enhancement
/people/pooja.pandey/blog/2005/06/27/xslt-mapping-with-java-enhancement-for-beginners
XSLT - ABAP.
/people/r.eijpe/blog/2005/11/04/using-abap-xslt-extensions-for-xi-mapping
exception handling errors in respect with XSLT mapping
http://help.sap.com/saphelp_nw2004s/helpdata/en/8a/7672f7d7e444439fd7024f806221a4/content.htm
Hope this will help
Regards
Piyush
**reward points if found useful. -
SOAP Response XSLT mapping issue
Hi,
Source XML.
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Create__CompIntfc__APC_WORKER2_CIResponse xmlns:ns0="http://peoplesoft.com/APC_WORKER2_CI">
<ns0:notification>y</ns0:notification>
<ns0:detail>
<ns0:keyinformation>
<ns0:PERSON_ID/>
<ns0:SUBMIT_DATE/>
<ns0:ACTION/>
</ns0:keyinformation>
<ns0:messages>
<ns0:type/>
<ns0:messagesetnumber/>
<ns0:messagenumber/>
<ns0:messagetext/>
<ns0:explaintext/>
</ns0:messages>
</ns0:detail>
</ns0:Create__CompIntfc__APC_WORKER2_CIResponse>
Target XML
<?xml version="1.0" encoding="UTF-8"?>
<ns1:Z_HPA_357_PROVISION_USER_IMS.Response xmlns:ns1="urn:sap-com:document:sap:rfc:functions"><SUCCESS>y</SUCCESS></ns1:Z_HPA_357_PROVISION_USER_IMS.Response>
XSLT Mapping
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:ns1="http://authserv.apc.com/peoplesoft">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
<xsl:template match="/">
<ns1:Z_HPA_357_PROVISION_USER_IMS.Response xmlns:ns1="urn:sap-com:document:sap:rfc:functions">
<SUCCESS>
<xsl:value-of select="soap:Create__CompIntfc__APC_WORKER2_CIResponse/a:notification" />
</SUCCESS>
</ns1:Z_HPA_357_PROVISION_USER_IMS.Response>
</xsl:template>
</xsl:stylesheet>
Can somebody help to figure out the issue in higlighted area of XSLT mapping.
We just need to move "notification" value to "SUCCESS" value of RFC.
thanks.
santosh,.Hi Santosh,
add the source namespace with a prefix:
xmlns:ns0="http://peoplesoft.com/APC_WORKER2_CI"
do it most simple generic without path
do not forget the prefix
ns0:
use xsl:value-of:
xsl:value-of select="//ns0:notification"
Regards,
Udo -
Need XSLT mapping or Java code?
Hi All,
I have a scenario JMS to Proxy.At sender side i will get complete XML payload in the single string.
Root
XMLpayload
in XMLpaload i will get complete data in XML format.
receiver side the structure is like this.
Root
Header Header occurence is only once
hr1
hr2
hr3
Item Item ocurence will be 0 ..U
item1
item2
I need the code for XSLT mapping or for JAVA code that can be written in mapping.
Regards,
PhaniHi,
could you please let me know, what is your source data type.
by using node functions like split value , collapse context and foramt example.
we can get th out put i the required format.
pls let me know, your source and target data type.
wamr regards
mahesh. -
XSLT mapping Help Required.
XSLT mapping Help Required.
Hi Experts,
I am New to XSLT Mapping. I am practising the below Example:
InputXML File:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="Persons111.xsl"?>
<ns0:MT_XSLT_Source xmlns:ns0="http://XYZ.com/gen">
<Person>
<FirstName>Anshul</FirstName>
<LastName>Chowdhary</LastName>
<Gender>Male</Gender>
<Address>
<Street>2nd Main</Street>
<Houseno>83/b</Houseno>
<City>Mysore</City>
</Address> </Person>
</ns0:MT_XSLT_Source>
XSL StyleSheet File:
<?xml version='1.0' encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://XYZ.com/Gen"
Xmlns:ns1=”http://XYZ.com/Test”>
<xsl:template match="/">
<ns1:MT_XSLT_Target>
<Title> <xsl:value-of select="ns0:MT_XSLT_Source/Person/Gender"/> </Title>
<Name> <xsl:value-of select="concat(concat(ns0:MT_XSLT_Source/Person/FirstName,' '), ns0:MT_XSLT_Source/Person/LastName)"/>
</Name>
<Street> <xsl:value-of select="concat(concat(ns0:Mt_XSLT_Source/Person/Address/Houseno,' '),
ns0:Mt_XSLT_Source/Person/Address/Street)"/> </Street>
<City> <xsl:value-of select="ns0:Mt_XSLT_Source/Person/Address/City"/> </City>
</ns1:MT_XSLT_Target>
</xsl:template>
</xsl:stylesheet>
The Desired Output shuold be:
<?xml version="1.0" encoding="UTF-8"?>
<ns1:MT_XSLT_Target xmlns:ns1="http://XYZ.com/Test">
<Title>Male</Title>
<Name>Anshul Chowdhary</Name>
<Street>83/b 2nd Main</Street>
<City>Mysore</City>
</ns1:MT_XSLT_Target>
I have refered the xsl in xml and i am getting the below Oupt in a Single line like this:
Anshul Chowdhary Male 2nd Main 83/b Mysore
I am Unable to display in Target XML Fomrat as shown above. Please check and do the needful.
Regards,
GIRIDHARHi,
I have used below for testing.
Input xml:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="Persons111.xsl"?>
<ns0:MT_XSLT_Source xmlns:ns0="http://XYZ.com/gen">
<Person>
<FirstName>Anshul</FirstName>
<LastName>Chowdhary</LastName>
<Gender>Male</Gender>
<Address>
<Street>2nd Main</Street>
<Houseno>83/b</Houseno>
<City>Mysore</City>
</Address> </Person>
</ns0:MT_XSLT_Source>
xsl code:
<?xml version='1.0' encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://XYZ.com/gen"
xmlns:ns1="http://XYZ.com/Test">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<ns1:MT_XSLT_Target>
<Title> <xsl:value-of select="ns0:MT_XSLT_Source/Person/Gender"/> </Title>
<Name> <xsl:value-of select="concat(concat(ns0:MT_XSLT_Source/Person/FirstName,' '), ns0:MT_XSLT_Source/Person/LastName)"/>
</Name>
<Street> <xsl:value-of select="concat(concat(/ns0:MT_XSLT_Source/Person/Address/Houseno,' '),
/ns0:MT_XSLT_Source/Person/Address/Street)"/> </Street>
<City> <xsl:value-of select="/ns0:MT_XSLT_Source/Person/Address/City"/> </City>
</ns1:MT_XSLT_Target>
</xsl:template>
</xsl:stylesheet>
For testing in PI ,change the extension from .txt to .xsl and zip it and upload into PI as an imported archive .
Regards
Venkat -
Help Required for XSLT mapping
Hi Folks,
I am working on a scenario, where we had 17 different one to one mapping with same source strcture but different target structures. Source is a Idoc common for everyone.
Sample Target Structure :
Message Type(XYZ)
RECORDS(0,u)
A(0,1)
B(0,1)
C(0,1)
D(0,1)
As per our requirement we need the output in which we need to have "GLOBE " at the top and the value of A, B, C and D on single row for each ouurance of RECORD. For 2nd occurance we need to change the line and 2 nd set of ABCD on 2nd row and so on. e.g.
GLOBE
0002044452KNA1 0000027079 0001E
0002044452KNA1 0000027080 0001E
0002044452KNA1 0000027080 0001E
To acheive the above output we are using a XSLT map after Message Mapping
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" indent="no" encoding="UTF-8" omit-xml-declaration="yes"/>
<xsl:preserve-space elements="*"/>
<xsl:template match="/">GLOBE<xsl:text>
</xsl:text>
<xsl:for-each select="//RECORDS">
<xsl:for-each select="*">
<xsl:value-of select="current()"/>
</xsl:for-each><xsl:text>
</xsl:text></xsl:for-each>
</xsl:template>
</xsl:stylesheet>
NOW WE HAVE changed the 17 one to one maps to one multi mapping (1:17) as our source is same.
Now as the output of this multi mapping is getting into XSL code, it is not able to parse it.
How can we do the changes in this particular code So that we can Achieve: 17 different file out of single multi mapping and XSL map like it was comming previously from 17 different maps.
Thanks
PradeepHi Pradeep,
Depending on how you setup your multi mapping, when you execute you will end up with something like this as the xml output:
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
<ns0:Message1>
<XYZ></XYZ>
<XYZ></XYZ>
</ns0:Message1>
</ns0:Messages>
Or this:
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
<ns0:Message1>
<XYZ></XYZ>
</ns0:Message1>
<ns0:Message2>
<XYZ></XYZ>
</ns0:Message2>
</ns0:Messages>
The single xml message with the u201CMessagesu201D wrapper is not split into separate messages until it hits one of the adapters in the adapter engine. Perhaps you can try to adjust the xslt to expect this as input, but the output would still need to be <ns0:Messages>. That might be what is causing the failure with your current xslt. Can the flat file conversion in the file adapter?
Thanks,
-Russ -
I need to do the finial step to activate elements 12. For some reason my keyboard will not allow me to print letters, only numbers. Since the code that is required for the final step requires both numbers and letters I'm not able to complete .
If the code has letters it's not a serial number, but a redemption code that you use to get a serial number:
Redemption Code Help -
Need Filename in XSLT Mapping.
Hi ,
I am doing File to IDOC scenario.
I am using XSLT mapping.
My Target fielld is having " File Name " field.
I need to pass the source file name to that field.
I am using XSLT Mapping.
How to call the Filename and map the value to that field in XSLT.
Regards,
Jayasimha JangamThis is one of the better part of the online help:
http://help.sap.com/saphelp_nw04/helpdata/en/43/03fe1bdc7821ade10000000a1553f6/frameset.htm
Just replace 'Directory' with 'FileName'.
I have used that, it works fine.
Regards
Stefan -
Need help for Count function in XSLT Mapping
Hi All,
We have a requirement in our project,to do the xslt mapping from OAGIS 9.0 to EDI XML.In the EDI XML we have a SE tag whose value is the count of the no. of complex elements that will be generated in the EDIXML file( which is the target).
Please do let me know if anybody has done this functionality in the xslt mapping.
Thanks in Advance.
Regards,
KaavyaHi,
for the Hex-Number-conversion see:
[url http://psoug.org/snippet/Convert-Hex-to-Decimal-Decimal-to-Hex_78.htm] self-defined Conversion-Functions
What number format do you have? YYYMMDD
Or is there a Date corresponding to 1 and a number n represent the date n-1 days after day 1?
Please describe further.
Bye
stratmo -
Need Help with XSLT Mapping....
My scenario is synchronous scenario. SAP(Proxy) to XI to WebServer(SOAP)
The response is coming back in asingle ANY field and so I guess I need XSLT Mapping to map it to the response message going backto SAP.
The response sent by webserver is of the structure:
<?xml version="1.0" encoding="UTF-8"?>
<GetStudentsExResponse xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/LMSWebSvc/LMS_Interface">
<GetStudentsExResult>
<Courses xmlns="">
<Warnings/>
<Course CourseName="Requal RWT with Instructional Blocks TEST" CourseId="1325">
<Student LastName="LMSTest" FirstName="A" SSN="112345678" LoginID="lms123456a" CompanyName="LMS Test" CourseStatus="P" CourseStatusDate="03/14/2007 09:24:36" CourseScore="90">
<Lesson LessonCode="1915" LessonName="RWT Part 1"/>
<Lesson LessonCode="1916" LessonName="RWT Part 2"/>
<Lesson LessonCode="1917" LessonName="RWT Requal Exam" LessonStatus="p" LessonStatusDate="03/14/2007 09:24:36" LessonScore="90" ProctorID="1" ProctorName="Account Default">
<ExamInteractions QuesNum="17758" StudentResp="D" CorrectResp="D" Judged="c"/>
<ExamInteractions QuesNum="17769" StudentResp="B" CorrectResp="C" Judged="w"/>
<ExamInteractions QuesNum="8465" StudentResp="A" CorrectResp="A" Judged="c"/>
<ExamInteractions QuesNum="8471" StudentResp="A" CorrectResp="A" Judged="c"/>
<ExamInteractions QuesNum="8496" StudentResp="C" CorrectResp="C" Judged="c"/>
</Lesson>
</Student>
</Course>
</Courses>
</GetStudentsExResult>
</GetStudentsExResponse>
The Structure that I need to map this to is:
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Course_Response_MT xmlns:ns0="urn:sce-com:xi:fi:goyala">
<GetStudentsExResponse>
<GetStudentsExResult>
<Courses>
<Course>
<CourseName/>
<CourseID/>
<Student>
<LastName/>
<FirstName/>
<SSN/>
<LoginID/>
<CourseStatus/>
<CourseStatusDate/>
<CourseScore/>
<Lesson>
<LessonCode/>
<LessonName/>
<LessonStatus/>
<LessonStatusDate/>
<ExamInteractions>
<QuesNum/>
<StudentResp/>
<CorrectResp/>
<Judged/>
</ExamInteractions>
</Lesson>
</Student>
</Course>
</Courses>
</GetStudentsExResult>
</GetStudentsExResponse>
</ns0:Course_Response_MT>
and the xslt mapping that I have written for this is:
<?xml version='1.0' encoding='utf-8' ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:a="urn:sce-com:xi:fi:goyala" xmlns:DateUtils="com.sce.hcm.xi.util.DateUtils">
<xsl:template match="/">
<a:Course_Response_MT>
<GetStudentsExResponse>
<GetStudentsExResult>
<Courses>
<CourseName>
<xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course[@CourseName]"/>
<xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course[@CourseID]"/>
<Student>
<xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student[@LastName]"/>
<xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student[@FirstName]"/>
<xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student[@SSN]"/>
<xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student[@LoginID]"/>
<xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student[@CourseStatus]"/>
<xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student[@CourseStatusDate]"/>
<xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student[@CourseScore]"/>
<Lesson>
<xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/Lesson[@LessonCode]"/>
<xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/Lesson[@LessonName]"/>
<xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/Lesson[@LessonStatus]"/>
<xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/Lesson[@LessonStatusDate]"/>
<ExamInteractions>
<xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/Lesson/ExamInteractions[@QuesNum]"/>
<xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/Lesson/ExamInteractions[@StudentResp]"/>
<xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/Lesson/ExamInteractions[@CorrectResp]"/>
<xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/Lesson/ExamInteractions[@Judged]"/>
</ExamInteractions>
</Lesson>
</Student>
</CourseName>
</Courses>
</GetStudentsExResult>
</GetStudentsExResponse>
</a:Course_Response_MT>
</xsl:template>
</xsl:stylesheet>
But This mapping is not working... I am getting errors...
Pls advice, this is urgent..
Regards,
XIer
Edited by: XIer on Apr 25, 2008 12:23 PM
Edited by: XIer on Apr 25, 2008 12:37 PM
Edited by: XIer on Apr 25, 2008 12:37 PMHi All,
I have now modified my XSLT Mapping as :
<?xml version='1.0' encoding='utf-8' ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:a="urn:sce-com:xi:fi:goyala" xmlns:DateUtils="com.sce.hcm.xi.util.DateUtils">
<xsl:template match="/">
<a:Course_Response_MT>
<GetStudentsExResponse>
<xsl:value-of select="a:GetStudentsExResponse"/>
<GetStudentsExResult>
<xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult"/>
<Courses>
<xsl:for-each select="a:GetStudentsExResponse/GetStudentsExResult/Courses">
<Course>
<CourseName>
<xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/@CourseName"/>
</CourseName>
<CourseID>
<xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/@CourseID"/>
</CourseID>
<xsl:for-each select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student">
<Student>
<LastName>
<xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/@LastName"/></LastName>
<FirstName> <xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/@FirstName"/></FirstName>
<SSN><xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/@SSN"/></SSN>
<LoginID><xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/@LoginID"/></LoginID>
<CourseStatus><xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/@CourseStatus"/></CourseStatus>
<CourseStatusDate><xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/@CourseStatusDate"/></CourseStatusDate>
<CourseScore><xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/@CourseScore"/></CourseScore>
<xsl:for-each select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/Lesson">
<Lesson>
<LessonCode><xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/Lesson/@LessonCode"/></LessonCode>
<LessonName><xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/Lesson/@LessonName"/></LessonName>
<LessonStatus><xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/Lesson/@LessonStatus"/></LessonStatus>
<LessonStatusDate><xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/Lesson/@LessonStatusDate"/></LessonStatusDate>
<ExamInteractions>
<QuesNum> <xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/Lesson/ExamInteractions/@QuesNum"/></QuesNum>
<StudentResp> <xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/Lesson/ExamInteractions/@StudentResp"/></StudentResp>
<CorrectResp> <xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/Lesson/ExamInteractions/@CorrectResp"/></CorrectResp>
<Judged> <xsl:value-of select="a:GetStudentsExResponse/GetStudentsExResult/Courses/Course/Student/Lesson/ExamInteractions/@Judged"/></Judged>
</ExamInteractions>
</Lesson>
</xsl:for-each>
</Student>
</xsl:for-each>
</Course>
</xsl:for-each>
</Courses>
</GetStudentsExResult>
</GetStudentsExResponse>
</a:Course_Response_MT>
</xsl:template>
</xsl:stylesheet>
However when i execute this mapping in IR, I get empty tags at the target side:
<?xml version="1.0" encoding="UTF-8"?>
<a:Course_Response_MT xmlns:a="urn:sce-com:xi:fi:goyala"><GetStudentsExResponse><GetStudentsExResult><Courses/></GetStudentsExResult></GetStudentsExResponse></a:Course_Response_MT>
Please Advice....
Regards,
XIer
Maybe you are looking for
-
No iPhoto etc 10.7.4
Hi Purchased an ex display mac book pro running Lion from a premium Apple reseller (UK). There is no iPhoto/iMovie/Gargage band etc which were part of iLife. The retailer tells me I should be able to download for free from the app store, but I am una
-
Can I purchase an app once and then use it on both my iPhone and my iPad?
If I have both an iPad and an iPhone, can I purchase an app once and then run it on both devices? Or do I need to purchase individual licenses for each device?
-
Script on page causing flash player to run slow
I am trying to use webmaker( magix) and as I get to the load page I get this message... script on this page is making flash player run slow and may cause computer to be unresponsive do you want to abort after 4 days of trying could anyone tell me wha
-
Aperture SlideShow Support Update 1.1 is out
Just noticed that Aperture SlideShow Support Update in Version 1.1 is out via Software Update.
-
How to install my Creativ Cloud again, after PC Crash?
Last week instald my PS CC and now PC ist down and have to instal it again...but how? i tried to download again, but code is allready zsed, so it do not work. What to do now?