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: Functions to transform "name" or "address" string into structured component
Author: David Karr
Date: 31 Oct 2005 01:59 PM
Some of the pieces of this may be elementary, but I'm trying to understand all the pieces I will need for this.

I'm examining a situation where an input document will contain "name" and "address" elements, where they are just a single string. My transformation has to result in these string values broken down into their constituent elements, like "firstname", "lastname", "middle", and "street address", "city", "state", "zip".

I see that EXSLT has a "tokenize" function, and that may be available natively also, but I don't know that yet. I suppose a custom xslt function could use that, and then assume which token numbers correspond to the "firstname", "city", etcetera.

How would I use this graphically, in the XSLT mapper? I can connect the source "name" element through the transformer into the complex element holding the individuals fields.

How exactly would this go together?

Are there already custom functions written which separate a "name" or "address" string into its constituent fields?

Posttop
Ivan PedruzziSubject: Functions to transform
Author: Ivan Pedruzzi
Date: 31 Oct 2005 02:32 PM
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

   
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.