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)
-> + Use of before and after string (3) Sticky Topic
-> - How do I substitute element ty... (1)
-> + How does one add working days ... (4)
-> - Help, I have existing XLT and... (1)
-> + Need help on XSLT issue - (2)
-> + EDI to XML Conversion (7)
-> - XML To JSON Conversion using X... (1)
-> + Formatting Paragraphs to same ... (2)
-> - Grouping of records (1)
-> + Problems with xsd 1.1 (4)
-> + XML to HL7 mapping (3)
-> + XSLT 3 and Iterate (2)
-> + XSL-FO to PDF preview (3)
-> + java.lang.RuntimeException: Er... (2)
-> + Create Acroforms with Stylus X... (2)
-> + How to change XSLT parameter s... (3)
-> + how to change format of the da... (2)
-> + Search "Next 8 Results " doesn... (2)
-> - Support for Git (1)
-> + newbee (8)
-- [1-20] [21-40] [41-60] Next
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
David KarrSubject: RE: Functions to transform
Author: David Karr
Date: 31 Oct 2005 02:56 PM
I would probably use different templates for "name" and "address", but
that's beside the point.

This example takes 2 parameters and returns 1 value. I'm looking at a
situation where I want the function to take the source element, along
with possibly a discriminator of some sort (like your "field"
parameter), and produce a complex value (more than one return value, in
other words). I'm also wondering how this would look in the XSLT
mapper. Ideally, I think I'd like to be able to connect the source
element to the transform, and connect the transform to the element that
contains all the values I want to set (for instance, the target
"Address" structured element), without having to specify links to the
target subelements ("firstname", "lastname", "city", "state", etc.).

> -----Original Message-----
> From: stylus-studio-xslt Listmanager
>
> From: Ivan Pedruzzi
>
> The most portable solution is to write a template.
> Template call can be use the as instruction block in mapper.
>
> Here is a very basic example
>
> <xsl:template name="split">
> <xsl:param name="source"/>
> <xsl:param name="field"/>
> <xsl:choose>
> <xsl:when test="$field = 'name'">
> <xsl:value-of
> select="substring-before($source, ' ' )"/>
> </xsl:when>
> <xsl:when test="$field = 'address'">
> <xsl:value-of
> select="substring-after($source, ' ' )"/>
> </xsl:when>
> </xsl:choose>
> </xsl:template>
>
>
> In the upcoming version Stylus Studio supports XSLT 2 that
> features many more built-in fucntions for string manipualtions.
>
> Ivan Pedruzzi
> Stylus Studio Team
>
>
> --
> To reply: mailto:stylus-studio-xslt.12385@stylusstudio.com
> To start a new topic: mailto:stylus-studio-xslt@stylusstudio.com
> To login: http://www.stylusstudio.com/SSDN/
> To (un)subscribe:
> mailto:stylus-studio-xslt.list-request@stylusstudio.com
>
>

Posttop
Ivan PedruzziSubject: RE: Functions to transform
Author: Ivan Pedruzzi
Date: 31 Oct 2005 03:17 PM
>Ideally, I think I'd
>like to be able to connect the source element to the transform, and
>connect the transform to the element that contains all the values I want to set (for instance, the target "Address" structured element),
>without having to specify links to the target subelements
>("firstname", "lastname","city", "state", etc.).

Better an experiment then the opinions of 1000 experts like my boss always tells me :)

The call templates appears as instruction block into the canvas with as many incoming ports as input parameters are defined and one output port that you can connect to the target document. so if your template generates a tree fragment you just need to map the output port where you wants the fragmet in the target tree.

Ivan








   
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.