XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
parvez ahmedSubject: Help with XSLT mapping required
Author: parvez ahmed
Date: 17 Apr 2008 02:42 PM
hi experts,

I have the following XSD.My requirement is the following structure would be the sender and the same structure has to to be duplicated depending upon certain nodes.the elements <BAHNE>AB,BC,AD</BAHNE>
and <LAND1>L,P,Q</LAND1> are having values separated by delimiter which can be either , or :.depending upon these conditons i would need the same structure to be reapeated i.e debmas06 with individual bahne ab bc ad so on.so there should be 3 debmas produced on the reciever side.

Could someone help out with the XSLT code for mapping.
Thanks in advance.
source structure
<DEBMAS06>
- <IDOC BEGIN="">
- <EDI_DC40 SEGMENT="">
<TABNAM />
<DIRECT />
<IDOCTYP />
<MESTYP />
<SNDPOR>66</SNDPOR>
</EDI_DC40>
- <E1KNA1M SEGMENT="">
<MSGFN>7900</MSGFN>
<KUNNR />
<ANRED>2588</ANRED>
<AUFSD />
<BAHNE>AB,BC,AD</BAHNE>
<LAND1>L,P,Q</LAND1>
<NAME1>rom</NAME1>
<NAME4>back</NAME4>
<NIELS />
<ORT01>beijing</ORT01>
<PSTLZ>477</PSTLZ>
<STKZU />
<STRAS></STRAS>
<GFORM>02</GFORM>
<BRAN1>890</BRAN1>
- <E1KNA1H SEGMENT="">
- <E1KNA1L SEGMENT="">
<TDLINE>PK</TDLINE>
</E1KNA1L>
</E1KNA1H>
- <E1KNVVM SEGMENT="">
<MSGFN>1238, 99, XX</MSGFN>
<VKORG>1238</VKORG>
<VTWEG>99</VTWEG>
<VSBED>02</VSBED>
<WAERS>PKR</WAERS>
<BOKRE>X</BOKRE>
<PRFRE>X</PRFRE>
- <E1KNVVH SEGMENT="">
<TDNAME>4,7,8</TDNAME>
</E1KNVVH>
</E1KNVVM>
- <E1KNB1M SEGMENT="">
<MSGFN>999</MSGFN>
<BUKRS>999</BUKRS>
<ZUAWA>555</ZUAWA>
<AKONT>00000411</AKONT>
<ZTERM>ZP30</ZTERM>
<FDGRV>E5</FDGRV>
<E1KNB5M SEGMENT="" />
- <E1KNB1H SEGMENT="">
<E1KNB1L SEGMENT="" />
</E1KNB1H>
</E1KNB1M>
- <E1KNVKM SEGMENT="">
<NAME1>UNKNOWN</NAME1>
</E1KNVKM>
<E1KNKKM SEGMENT="" />
- <E1T023X SEGMENT="">
<MATNR>8855</MATNR>
</E1T023X>
</E1KNA1M>
</IDOC>
</DEBMAS06>

recieving should be 3 same structures
<DEBMAS06>
- <IDOC BEGIN="">
- <EDI_DC40 SEGMENT="">
<TABNAM />
<DIRECT />
<IDOCTYP />
<MESTYP />
<SNDPOR>66</SNDPOR>
</EDI_DC40>
- <E1KNA1M SEGMENT="">
<MSGFN>7900</MSGFN>
<KUNNR />
<ANRED>2588</ANRED>
<AUFSD />
<BAHNE>AB</BAHNE>
<LAND1>L</LAND1>
.....all other nodes
</DEBMAS06>
<DEBMAS06>
- <IDOC BEGIN="">
- <EDI_DC40 SEGMENT="">
<TABNAM />
<DIRECT />
<IDOCTYP />
<MESTYP />
<SNDPOR>66</SNDPOR>
</EDI_DC40>
- <E1KNA1M SEGMENT="">
<MSGFN>7900</MSGFN>
<KUNNR />
<ANRED>2588</ANRED>
<AUFSD />
<BAHNE>BC</BAHNE>
<LAND1>P</LAND1>
.....all other nodes
</DEBMAS06>

thanks experts in advance.

regards,
ahmed


Postnext
Alberto MassariSubject: Help with XSLT mapping required
Author: Alberto Massari
Date: 17 Apr 2008 04:07 PM
Hi Ahmed,
you can start from an XSLT stylesheet implementing the identity transformation (see http://en.wikipedia.org/wiki/Identity_transform); then you add a template matching the two elements you want to explode, and inside it use tokenize() (if you use XSLT 2.0, otherwise you can simulate with substring-before+substring-after) to split the values and rebuild the element with just one entry.

Hope this helps,
Alberto

Postnext
parvez ahmedSubject: Help with XSLT mapping required
Author: parvez ahmed
Date: 18 Apr 2008 03:56 AM
Originally Posted: 18 Apr 2008 03:55 AM
thanks alberto for your valuable suggestions.

If you or any experts can provide me the snippet of the code esp using substring before and after then that wud be great as iam not that much aware with complex transformations in XSLT.


many thanks.

regards
ahmed

Posttop
Alberto MassariSubject: Help with XSLT mapping required
Author: Alberto Massari
Date: 21 Apr 2008 05:35 AM
Hi Ahmed,
you can read this SSDN posting (http://www.stylusstudio.com/SSDN/default.asp?action=9&read=7212&fid=48&style=Inline) that describes how to process the tokens of a string like XX|YY|ZZ using substring-before and substring-after.

Hope this helps,
Alberto

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.