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
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
+ Stylus Studio Technical Forum (14621)
+ Website Feedback (249)
- XSLT Help and Discussion (7625)
-> + How to add page number in to v... (2)
-> + XSL Grouping (7)
-> + Repeat images using FOR EACH l... (7)
-> + How to get File name (2)
-> + image and text on the same lin... (2)
-> + Create XSLT stylesheets for us... (2)
-> + Merge Multiple Files While Che... (2)
-> + xslt 3 level or multi level gr... (6)
-> + How to create xsl which will c... (2)
-> + xsl:variable and Result Tree F... (7)
-> - XSL-FO fo:table continued from... (1)
-> + XSLT Java issue (2)
-> + problem with hyperlink (4)
-> + substring-after function probl... (4)
-> + Xalan Processing (3)
-> + Memory utilization high with m... (2)
-> + check all parent node groups s... (2)
-> + CSV DOC to XML CONVERSION (11)
-> + XSLT: Ordered List (based on r... (4)
-> - XSLT Mapping - Issue (4)
-> ->XSLT Mapping - Issue
-> ->XSLT Mapping - Issue
-> ->XSLT Mapping - Issue
-> + XSL following-sibling, how to ... (5)
-> + need xslt elements help (2)
-> + Dynamic generation of URL in X... (2)
-> + List Created from Section Navi... (2)
-> + xslt elements help (2)
-> + Map field if source is not nul... (3)
-> + XSLT group and sort whith gene... (4)
-> + Nested XML value (2)
-> + Specifying condition with coun... (4)
-> + xsl:function using found in er... (4)
-> + How to remove an unwanted spac... (2)
-> + Question about variable substi... (2)
-> + XSL for Comparing nodes and di... (4)
-> + External lookup list (8)
-> + XSL HTML output now needs to b... (2)
-> + Adding a new sub element to th... (4)
-> + How do I get rid of 'Tip' node... (9)
-> + Trying to dynamically create n... (2)
-> + Display XML link, using XSLT a... (9)
-> + calling templates based on ord... (2)
-> + How to add internal links usin... (4)
-> + How to call user defined java ... (3)
-> + XSLT and WebApps past and futu... (3)
-> + passing condition through java... (3)
-> + Apllying a template from withi... (4)
-> + Getting xsl element in javascr... (3)
-> + The document() function inside... (3)
-> + Footnote text move to para (2)
-> + XSL: multiple element come to ... (3)
-> + How to use following-sibling &... (2)
-> + How to use FOP 0.95 with Stylu... (4)
-> + Error during creating PDF from... (2)
-> + Help creating a comma delimite... (4)
-> + Selective Add using XSLT recur... (3)
-> + Help: convert without parent e... (2)
-> - Correct my substring function ... (1)
-> + Old xsl into reports (4)
-> + How to save xslt converted fil... (3)
-> + How to find non tagging text? (5)
-> + Help: Hex entity to Character... (6)
-> + EDI QUOTES MESSAGE NEED TO REP... (2)
-> + How to convert in multi level ... (4)
-> + Need some help with a styleshe... (3)
-> - Conditional Formattinf Formula... (1)
-> + Creating HTML Unordered LIsts.... (2)
-> + xslt params uknown number of i... (2)
-> + How to use fonts other than ba... (2)
-> - Converting existing HTML into ... (1)
-> + Help to tune up this XSLT (2)
-> + XSLT - is only converting the ... (2)
-> + XSLT Editor tab (4)
-> + Convert multiple files from XM... (2)
-> + how to use in select expressi... (2)
-> + Help needed in XSL transformat... (2)
-> + How to add a string with math ... (5)
-> + How to add a string with math ... (6)
-> - br element (1)
-> + Stylesheet directed terminatio... (2)
-> + Who can help me whit sum funct... (2)
-> + XSLT Works in Stylus Studio, n... (3)
-> - Filter by Attribute (1)
-> + Display x number of items whic... (6)
-> + MultiColumn Reporting (3)
-> + cant get namespace declaration... (3)
-> + Performance xsl:for each and n... (3)
-> + How to assign value to a XSLT ... (3)
-> + Select element value based on ... (2)
-> + Version 10 of Saxon? (8)
-> + How to get the value of a node... (5)
-> + Display Xpath using (4)
-> + XSLT to report (2)
-> + xslt help for a noobie (2)
-> + XSL-FO XML to PDF with XSLT (3)
-> + Using XSLT to transform XML to... (4)
-> + XSLT to sort a list alphabetic... (4)
-> + How to Get Colum Values based ... (2)
-> + non persisting predicate filte... (5)
-> + HTML to XSLT (2)
-> + extra carriage returns in "csv... (2)
-> + extra carriage returns in "csv... (3)
-- Previous [301-320] [321-340] [341-360] Next
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Swetank ChandraSubject: XSLT Mapping - Issue
Author: Swetank Chandra
Date: 26 Jun 2009 01:34 AM
Source File
____________________________________________________________
<?xml version="1.0" encoding="UTF-8"?>
<ns0:ED_MT xmlns:ns0="http://test.com">
<Rows>
<SEGNAM>T1</SEGNAM>
<SDATA>field1||field2||field3||field4||field5</SDATA>
</Rows>
<Rows>
<SEGNAM>T2</SEGNAM>
<SDATA>field1||field2||field3||field4||field5</SDATA>
</Rows>
<Rows>
<SEGNAM>T3</SEGNAM>
<SDATA>field1||field2||field3||field4||field5</SDATA>
</Rows>
</ns0:ED_MT>
_______________________________________________________________

OutPut file Desired
The Mapping should filter that only SEGNAM T1 & T3 needs to be mapped, further only field1 and field5 for T1 SEGNAM and field3 for T3 Segnam
Thus the output should only be as below. Thus the Split has to be done based on the sequence of the field which will vary for different SEGNAM
SEGNAM T1 --> Sequence (1,3) thus the mapping should read First Field(field1) and then the find the second occurence of Pipe and read the third field and concat into Target Structure Rows field as below.

Would appreciate if anyone can provide the XSLT snippet for the same

_______________________________________________________
<?xml version="1.0" encoding="UTF-8"?>
<ns0:ProdOrder_MT xmlns:ns0="http://test.com">
<Record>
<Recordset>
<Rows>field1||field5</Rows>
</Recordset>
<Recordset>
<Rows>field3</Rows></Recordset>
</ns0:ProdOrder_MT>
_______________________________________________________

Regards
Swetank

Postnext
(Deleted User) Subject: XSLT Mapping - Issue
Author: (Deleted User)
Date: 26 Jun 2009 06:40 AM
Hi Swetank,
which version of Stylus Studio are you suing, and which XSLT processor have you selected in the Scenario Dialog?

Thanks,
Alberto

Postnext
Swetank ChandraSubject: XSLT Mapping - Issue
Author: Swetank Chandra
Date: 28 Jun 2009 08:43 PM
Hi Alberto
I am using Stylus Studio 2009 Enterprise Suite and Saxon processor.

Kindly sugest how to solve the issue.

Best Regards
Swetank

Posttop
(Deleted User) Subject: XSLT Mapping - Issue
Author: (Deleted User)
Date: 29 Jun 2009 09:45 AM
Hi Swetank,
as you are using Saxon, you can use a few functionalities offered by XSLT 2.0, like in this example:

<?xml version='1.0'?>
<xsl:stylesheet version="2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:my="my_funcs" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:function name="my:extract" as="xs:string*">
<xsl:param name="str"/>
<xsl:param name="items" as="xs:integer*"/>

<xsl:variable name="list" select="tokenize($str,'\|\|')"/>
<xsl:for-each select="$items">
<xsl:value-of select="$list[current()]"/>
</xsl:for-each>
</xsl:function>

<xsl:template match="/">
<ns0:ProdOrder_MT xmlns:ns0="http://test.com">
<Record>
<xsl:for-each select="//Rows">
<xsl:choose>
<xsl:when test="SEGNAM='T1'">
<Recordset>
<Rows><xsl:value-of select="string-join(my:extract(SDATA, (1,3)),'||')"/></Rows>
</Recordset>
</xsl:when>
<xsl:when test="SEGNAM='T3'">
<Recordset>
<Rows><xsl:value-of select="string-join(my:extract(SDATA, (3)),'||')"/></Rows>
</Recordset>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</Record>
</ns0:ProdOrder_MT>
</xsl:template>

</xsl:stylesheet>

Hope this helps,
Alberto

   
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.