XSLT Java Enahancement Mappping
Hi All
I would like to know the clear steps of implementing the mapping through "XSLT Java Enhancement", FYI i was working with Graphical mapping itself, but i want to implement through XSLT Java Enahancement mapping.
More Thankful, if any once can help me out.
Regards
Shailaja
Hi Shailaja,
Please go through
<a href="/people/pooja.pandey/blog/2005/06/27/xslt-mapping-with-java-enhancement-for-beginners Mapping With JAVA Enhancement ( For Beginners)</a> which we will clearly help you understand your need.
Also go thru these links and they will also surely help you in all ways:
<a href="http://help.sap.com/saphelp_nw04/helpdata/en/55/7ef3003fc411d6b1f700508b5d5211/content.htm">XSLT Mapping with Java Enhancement</a>
<a href="http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/content.htm">XSLT Mapping</a>
<a href="http://help.sap.com/saphelp_nw04/helpdata/en/4c/b2ad3de2d76b3be10000000a114084/content.htm">Imported Archives (XSLT/Java)</a>
Regards,
abhy
Note: please do award points for helpful answers.
Message was edited by: Abhy Thomas
Similar Messages
-
XSLT & JAVA Mapping issue.
is there any situation,
where we should definately go for XSLT mapping..
where we should definately go for JAVA mapping..
can anyone brief me plz....
Cheers,
RaghaveshNo hard and fast rules.
There never can be specific rules.
1. Java Mapping should be used when the input is NON XML for sure. As the input is a InputSTream, you can convert it to a string and do the needful programmic logic etc.
2. XSL can be used with HTML source etc.
Regards
Bhavesh -
Calling Custom XSLT java class from BPEL in SOA Suite 11g
Hi All,
Morning...need some help with this issue...we are currently on SOA Suite 11g (11.1.1.4) version.
Earlier while we were on SOA Suite version 10g (10.1.3.3) we were calling the custom java classes from the xsl mapping for complex transformation and for this we were placing the .class file as .jar file at the location mentioned here $OC4J_HOME/j2ee/home/applib directory and then mentioning the namespace as http://www.oracle.com/XSL/Transform/java/{$classname$} in the XSLT mapping file.
Now in SOA Suite 11g if we need to retain similar functionality for external custom java calls could someone please help us where do we need to put the .jar file now ..
exactly at which directory location/path and on which instance/server (application server instance or middle tier instance ) we need to put this .jar file
Currently we are stuck and need some help with this.
With thanks & RegardsHi Eric & Anuj,
Thanks for replying , sorry for checking on this now...
here at this path /opt101/app/oracle/SOAD/SOA11gR1/fmw/Oracle_SOA1/soa/modules/oracle.soa.ext_11.1.1
we got the ora.soa.ext.jar file and extracted it to get the MANIFEST.mf file ..have mentioned below.
Now if we need to link our custom .jar file named customfunctions.jar so we need to mention it as below is this correct :
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 17.0-b17 (Sun Microsystems Inc.)
Implementation-Vendor: Oracle
Implementation-Title: Oracle SOA EXT
Implementation-Version: 11.1.1
Product-Name: Oracle SOA EXT
Product-Version: 11.1.1.4.0
Specification-Version: 11.1.1
Extension-Name: oracle.soa.ext
Class-Path: classes/
Class-Path:customfunctions.jar classes/ -- is this the way to mention (means we need to add this additional line or we need to add to the existing line at Class-Path: classes/)
2.
Eric the Alternative method mentioned in your update :
Open a command prompt and change the current directory to the oracle.soa.ext_11.1.1 directory ,
then execute the build.xml file in the oracle.soa.ext_11.1.1 folder using Ant
Now could someone please guide us regards this ANT means how does it work and its relation to the build.xml file and how do we check whether we have ANT utility available or not..
not much conversant with this ANT hence asking here..would lookout for your reply
thank you -
When to Use XSLT,Java or Graphical Mapping
Hi Friends,
Could any one please give me a clear picture on when to use Java/XSLT/Graphical Mappings. Which mapping should be used in which case.
Regards,
ShyamHi
Plz check the below links for your answer..
Java Mapping : http://help.sap.com/saphelp_nw04/helpdata/en/e2/e13fcd80fe47768df001a558ed10b6/content.htm
XSLT mapping : http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/content.htm
Message mapping:
http://help.sap.com/saphelp_nw04/helpdata/en/ee/bf9640dc522f28e10000000a1550b0/content.htm
Regards
Su -
Enhance Standard Mappings(xslt/java)
As part of the SNC 7.0 components for PI. We get a bunch of standard content.
This includes standard operational mappings between ECC IDocs and SNC Proxy structures.
Our requirement involves enhancing the IDocs and proxy's with new fields and mapping the same in PI.
Is there anyway to do this without editing the standard mapping code(java or xslt)?
Thanks,
HarshThanks all for your responses. As pointed out, the problem with copy or direct edit is that the SAP will no longer support the mapping code it provided. So I may add only two lines to the standard code, but what if the other 1000 lines have a bug?
I'm trying to figure out if there is an elegant way to add-on without modifying the code.
If not, then are there any recommended ways to go about editing the code? Any help on this would be much appreciated!
Thanks,
Harsh
PS: Some of the standard mappings are in xslt and others in Java. -
Hi,
What will be the difference between Siebel Data Mapper and XSLT ? One of the difference that I have identified is that XSLT's can be used to convert one XML to other without the need to have an IO defined like in data mapper.
Apart from this I have failed to recognize any major difference.
Please share if any one of you have any other difference which can help decide when do we go for XSLT ?
Thanks :-)Hello,
I found a workaround to the problem :-) you need to close JDeveloper and relaunch it. The linking of the two sides is then possible.
Jon -
XSLT/JAVA Mapping for cXML DOCTYPE
Hello -
Was anyone successful in adding the header
<!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.014/cXML.dtd">
after the
<?xml version="1.0" encoding="UTF-8"?> when converting
using either XSL or JAVA?
If there's way let me know what kind of mapping was used and how?
Thanks,
TirumalHi Tirumal,
you can solve that with xsl:output
one example:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output method="xml" doctype-system="http://xml.cXML.org/schemas/cXML/1.2.014/cXML.dtd"/>
<xsl:template match="/">
<xsl:copy-of select="*"/>
</xsl:template>
</xsl:stylesheet>
Regards,
Udo -
Mapping preferences between ABAP, JAVA, XSLT...?
Hi,
How do i choose between,
ABAP Mapping
Java Mapping
XSLT Mapping..?
Any pointers welcome..
--DJHI,
JAVA Mapping :If you have complex mapping in your scenarios and also some times if you have more than 100 field tomap then better to choose the JAVA MApping.
XSLT Mapping : Simple and if you have large size of messages then choose this type of XSLT mapping.
ABAP Mapping : If your scenario is deals with ABAP / R3 related transactions , then choose ABAP Mapping ..
Performance wise XSLT ,JAVA, ABAP order..
Please see the below links , it may helps you
Java Mapping
/people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-i
/people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-ii
/people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-iii
XSLT Mapping
/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
Abap mapping test - /people/sameer.shadab/blog/2005/09/29/testing-abap-mapping
Regards
Chilla..
<i>Points rewarded if it is usefull..</i> -
Graphical Mapping Vs XSLT mapping Vs Java Mapping Vs ABAP Mapping
Hi Experts,
I have a question regarding different message mapping options available in XI namely
Graphical Mapping
XSLT mapping
Java Mapping
ABAP Mapping
Q1: Which amoung the above mappings is the best and why?
Q2: On what cases Graphical, XSLT, Java and ABAP Mapping should be used?
Q3: Is it true that graphical and XSLT mappings are converted into Java class internally?
Kindly help!
Thanks
Gopal
Message was edited by:
gopalkrishna baligaHi,
There is no hard and fast rule for using the mapping techniques.
Graphical Mapping is used for simple mapping cases. When, the logic for your mapping is simple and straight forward and it does not involve mult hiearchical mapping requirement. and context handling.
Java and XSLT mapping are used when graphical mapping cannot help you.
When the choice is between Java And XSLT, XSLT is simpler than java mapping and easier. But, it has its drawbacks. XSLT can lead to a bad perfrormance if the Source XML is huge.
Java Mapping uses 2 types of parsers. DOM and SAX. DOM is easier to use with lots of classes to help you create nodes and elements, but , DOM is very processor intensive.
SAX parser is something that parses your XML one after the other, and so is not processor intensive. But, it is not exaclty easy to develop either.
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
Also, check this thread for more info,
Different types of Mapping in XI
Am not sure about XSLT , but , yes graphical mapping is converted into java classes internally and these classes use SAX parsing as well.
Regards,
Bhavesh -
Hi All,
After faceing so much of problem, i found that it would be better if i can go for an XSLT/java mapping:
1. It is adding an extra <b>ns0</b> to header line & end line which i dont want to be generated in the output xml file.
2. Namespace problem that basically sticking to 60 but i want 72 characters in my target xml file.
3. No carriage return at the end of each line which is not geting generated through graphical mapping.
Now i have an XSD provided by the client. So how can i use that and which mapping should best suits to solve all these problem.
Should i go for a java mapping or an XSLT/JAVA mapping.
I dont have any idea on both of them, So can you people send me the details for it.
Many Thanks & Best Regards,
JGD.Hi,
Based on the requirement and size we can choose the mapping.
If java is suitable to our requirement then we go for java.
If XSLT is suitable to our requirement then we go for XSLT.
Performance wise(high --> low) :
If data is less then
Graphical mapping -
> Java(sax parser)mapping -
> Java(dom parser)mapping -
> XSLT mapping -
> ABAP mapping.
If data is high then
XSLT mapping -
> Java(sax parser)mapping -
> Graphical mapping(internally it uses SAX)----> Java(dom parser)mapping -
> ABAP mapping.
If you choose XSLT then you can select Altova Map Force tool then no need to write the XSLT code here, it will automatically generates the code.
N:1 XSLT Mapping
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/30ac53f2-21d7-2a10-afa2-ce1a0577ca18
XSLT mapping https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/006aa890-0201-0010-1eb1-afc5cbae3f15 -
Xslt mapping can't get date from java
I am trying to get the current date/time from java in my xsl mapping. I can't seem to get it to work. This is the code I am using in my xsl file.
<IDField>
<xsl:template name="currentTime" xmlns:date="java:java.util.Date">
<xsl:value-of select="date:new()"/>
</xsl:template>
</IDField>
also tried
<xsl:value-of select="java:java.util.Date:new()"/>
I simply want to put the current date time in the IDField. What am I doing wrong? I am currently getting back a xslt mapping error. Here's the error....
Transformer configuration exception occurred when loading XSLT
I've tried a few different ways, but none have worked. What I'm looking for is the specific code that would display the date/time.
- EmmettI figured it out. The main problem was that I didn't have the following in this line....
<xsl:stylesheet version="1.0" <b>xmlns:java="http://xml.apache.org/xslt/java" </b>xmlns:xsl="http://www.w3.org/1999/XSL/Transform" .....>
Once I included xmlns:java="http://xml.apache.org/xslt/java" all the java functions were available. I also found the great date template. In case anyone wants to check it out here it is...
<xsl:template name="today"
xmlns:cal="xalan://java.util.GregorianCalendar">
<xsl:variable name="rightNow" select="cal:getInstance()" />
<!-- The GregorianCalendar class counts months from zero
so we have to add one to get the customary number -->
<xsl:variable name="month" select="cal:get($rightNow, 2) + 1" />
<xsl:variable name="day" select="cal:get($rightNow, 5) " />
<xsl:variable name="year" select="cal:get($rightNow, 1)" />
<xsl:value-of
select="$year" />-<xsl:value-of
select="$month" />-<xsl:value-of
select="$day" />
</xsl:template>
I found this template here...
http://cafeconleche.org/books/xmljava/chapters/ch17s03.html
- Emmett -
How to choose between XSLT & JAVA Mapping.
HI
Usually Java mapping is preferred when the target structure is relatively complex and the transformation cannot be accomplished by simple graphical mapping.
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.
Java mapping can be used when you have complex mapping structures.
http://help.sap.com/saphelp_nw04/helpdata/en/e2/e13fcd80fe47768df001a558ed10b6/frameset.htm
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10dd67dd-a42b-2a10-2785-91c40ee56c0b
Java Mapping (Part I)
https://Difference in using java,xslt,message mapping
Java Mapping (Part I)
Java Mapping (Part II)
Check these for JAVA Mapping
Java Mapping (Part I)
Java Mapping (Part II)
Java Mapping (Part III)
Testing and debugging
Testing and Debugging Java Mapping in Developer Studio
Implermenting JAVA Mapping in PI
Implementing a Java Mapping in SAP PI
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10dd67dd-a42b-2a10-2785-91c40ee56c0b
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/400ee77e-f9d6-2a10-2b8c-99281a4dcf6b
XSLT mappings can be imported into the Integration Repository; java methods can be called from within the XSLT style sheet. Advantages of this mapping are: open standard, portable, extensible via Java user-defined functions
XSLT Mapping
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
xpath functions in xslt mapping
https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=xslt+mapping&adv=false&sortby=cm_rnd_rankvalue#
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
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
Step u2013 By u2013 Step Simple Approach for XSLT Mapping
Step By Step Simple Approach for XSLT Mapping
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 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.
It all depends upon the required Scenario and the requirement , which mapping has to be used.
cheers -
Is it possible to call XSLT from Java Mapping Class?
Hi,
does someone have experience with this? Or any ideas?
And, if yes, how can be this XSLT called? Is it necessary to specify special path? Or it is the XSLT file placed in the same directory?
Thanx in advance, Peter
Message was edited by: Peter JarsunekHi SUdhir,
Thanx 4 your answer. I have seen this link before, but there is only Java->Java or XSLT->Java calling.. I need Java->XSLT.. When I create Java mapping, I want to use stored XSLT stylesheet to convert the message. Because, my problem is,that my primary message contains characters which I want to be changed. For this reason I need java class - to replace the characters. And then I want to do transformation with the XSLT stylesheet. Can you post some example?
Thanx, Peter -
Newbie Help: Calling Java function from XSLT
Hi everyone!
I am trying to call a java function from my XSL file. like...
<xsl:stylesheet version="1.0"
xmlns:java="http://xml.apache.org/xslt/java"
xmlns:fn="http://www.my.com/xslt"
exclude-result-prefixes="java fn">
<xsl:variable name="embeddedpic"
select="formData/instance/EmployeePicture" />
<xsl:variable name="pic" select="fn:com.my.utils.ConversionUtils.base64DecodeString($embeddedpic)"/>I am getting this exception in calling the above java function from my XSLT (XalanXPathException: The function number 'http://xml.apache.org/xslt/java:com.my.utils.ConversionUtils.base64DecodeString' is not available.)I have the function lib file in my classpath but still i am getting this error. Any info is highly appreciated.
ThanksTry this.
<?xml version="1.0" ?>
<xsl:transform version="1.0" xmlns:fn="com.my.utils" >
<xsl:variable name="pic" select="fn:ConversionUtils.base64DecodeString($embeddedpic)"/>
etc.
as long as your code is in the classpath it should find it.
Henock. -
XSLT Mapping: how to calculate Week number of the year from given date
Hi,
I have input as date, i need to know the Week number from that date in XSLT Coding.
for Eg: if date is 29-12-2009 it should give 53rd week of the year.
All answers will be appreciated.
Regards,
MayankHi add this statement to your XSLT Mappping
<xsl:stylesheet version="1.0" xmlns:java="http://xml.apache.org/xslt/java" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="java">
and use <xsl:template name="GetDateInLocal" xmlns:cal="xalan://java.util.GregorianCalendar"> in XSLT Mapping , write your logic.
cheers,
Raj
Maybe you are looking for
-
Yes, probably a stupid question... I have an iMac G3, 4gb hd, 64mb ram, which I got today from a friend. I'm suffering my way through OS 8.6. Can I install OS 9.x without deleting my apps/files, and how much space will it take up on my teeny HD? iMac
-
Windows 7 Word 2010 with EPS A4 Acrobat X Pro Paper Size Issue
I'm running into the following issue trying to create a PDF. Word 2010 A4 page size. Document has some Illustrator EPS images used in it. When I go to make the PDF using Acrobat from the top menu and then Create PDF, the page size of the PDF is A4, b
-
How to jump out a dead loop?
I made a java program with a GUI. When I pressed a button, the program would go into a dead loop. I supposed the program would jump out of when I pressed any of other button. So I set a global boolean variable, any button pressing event would set the
-
hou can i send a fax from with in abap/4 programs
-
Getting Refund with itunes match
Hi, i have subscribed to itunes match yesterday but then realise it doesn't work properly, how do i cancel it? try to click on report a problem but it does work? anyone experience this? thx