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
(Deleted User) Subject: Generating one to many elements
Author: (Deleted User)
Date: 05 Jun 2003 11:39 AM
I'm doing an XML to XML mapping exercise. I have one element in my source which needs to generate multiple elements in the destination document. eg.
<Contact>
<Name>Fred Smith</Name>
<Department>Despatch</Department>
<InternalAddress>Room 101</InternalAddress>
<DDI>0131 4960000</DDI>
<Switchboard>012999999999</Switchboard>
<Fax>01234567</Fax>
<Telex>3456</Telex>
<Email>fred@timber.example.com</Email>
<Mobile>07700 900000</Mobile>
</Contact>

to generate

<Contact>
<ContactName>Fred Smith</ContactName>
<ListOfContactNumber>
<ContactNumber>
<ContactNumberValue>012999999999</ContactNumberValue>
<ContactNumberTypeCoded>SwitchBoard</ContactNumberTypeCoded>
</ContactNumber>
<ContactNumber>
<ContactNumberValue>0131 4960000</ContactNumberValue>
<ContactNumberTypeCoded>DDI</ContactNumberTypeCoded>
</ContactNumber>
<ContactNumber>
<ContactNumberValue>01234567</ContactNumberValue>
<ContactNumberTypeCoded>FaxNumber</ContactNumberTypeCoded>
</ContactNumber>
<ContactNumber>
<ContactNumberValue>fred@timber.example.com</ContactNumberValue>
<ContactNumberTypeCoded>EmailAddress</ContactNumberTypeCoded>
</ContactNumber>
</ListOfContactNumber>
</Contact>

Is this possible using the GUI? Thanks.

Postnext
(Deleted User) Subject: RE: Generating one to many elements
Author: (Deleted User)
Date: 05 Jun 2003 01:31 PM
Hi, Chris.

yes. you can do it with mapper in GUI.

in the target schema, you need to right click on element and
choose "duplicate node", you need to duplicate as many times as your contact
type, in your case is 6.

then for each element, you need to set literal for
. for example, for element in source, you
need to set literal value as "DDI", then link
element in source into . for element in source,
you need to go to next and set
literal value as "FaxNumber" and link element in source into
...and so on.

let me know if this approach work for you.

song.



> -----Original Message-----
> From: stylus-studio-xslt Listmanager [mailto:listmanager@edn.exln.com]
> Sent: Thursday, June 05, 2003 12:00 PM
> To: Recipients of 'stylus-studio-xslt' suppressed
> Subject: Generating one to many elements
>
>
> From: "Chris Lindley"
>
> I'm doing an XML to XML mapping exercise. I have one element in
> my source which needs to generate multiple elements in the
> destination document. eg.
> <Contact>
> <Name>Fred Smith</Name>
> <Department>Despatch</Department>
> <InternalAddress>Room 101</InternalAddress>
> <DDI>0131 4960000</DDI>
> <Switchboard>012999999999</Switchboard>
> <Fax>01234567</Fax>
> <Telex>3456</Telex>
> <Email>fred@timber.example.com</Email>
> <Mobile>07700 900000</Mobile>
> </Contact>
>
> to generate
>
> <Contact>
> <ContactName>Fred Smith</ContactName>
> <ListOfContactNumber>
> <ContactNumber>
> <ContactNumberValue>012999999999</ContactNumberValue>
> <ContactNumberTypeCoded>SwitchBoard</ContactNumberTypeCoded>
> </ContactNumber>
> <ContactNumber>
> <ContactNumberValue>0131 4960000</ContactNumberValue>
> <ContactNumberTypeCoded>DDI</ContactNumberTypeCoded>
> </ContactNumber>
> <ContactNumber>
> <ContactNumberValue>01234567</ContactNumberValue>
> <ContactNumberTypeCoded>FaxNumber</ContactNumberTypeCoded>
> </ContactNumber>
> <ContactNumber>
> <ContactNumberValue>fred@timber.example.com</ContactNumbe
> rValue>
> <ContactNumberTypeCoded>EmailAddress</ContactNumberTypeCoded>
> </ContactNumber>
> </ListOfContactNumber>
> </Contact>
>
> Is this possible using the GUI? Thanks.
>
>
>
> To reply: mailto:stylus-studio-xslt.6747@edn.exln.com
> To start a new topic: mailto:stylus-studio-xslt@edn.exln.com
> To login: http://edn.exln.com/~SSDN
>

Postnext
(Deleted User) Subject: RE: Generating one to many elements
Author: (Deleted User)
Date: 06 Jun 2003 10:08 AM
Hi Song

That will solve my problem initially but ideally I would want the generation of destination elements to be dynamic depending on the occurences in the source. Maybe there won't be an email address or DDI number everytime for example.

Thx

Chris

Postnext
(Deleted User) Subject: RE: Generating one to many elements
Author: (Deleted User)
Date: 06 Jun 2003 10:41 AM
Chris,

XSLT mapper does not support this kind of dynamic conditional mapping in GUI
yet, but it is in our to-do list, very likely we will start working on that
after the major stylus 5.0 release is out.


song.





> -----Original Message-----
> From: stylus-studio-xslt Listmanager [mailto:listmanager@edn.exln.com]
> Sent: Friday, June 06, 2003 10:29 AM
> To: Recipients of 'stylus-studio-xslt' suppressed
> Subject: RE: Generating one to many elements
>
>
> From: "Chris Lindley"
>
> Hi Song
>
> That will solve my problem initially but ideally I would want the
> generation of destination elements to be dynamic depending on the
> occurences in the source. Maybe there won't be an email address
> or DDI number everytime for example.
>
> Thx
>
> Chris
>
>
>
> To reply: mailto:stylus-studio-xslt.6755@edn.exln.com
> To start a new topic: mailto:stylus-studio-xslt@edn.exln.com
> To login: http://edn.exln.com/~SSDN
>

Postnext
(Deleted User) Subject: RE: Generating one to many elements
Author: (Deleted User)
Date: 06 Jun 2003 12:01 PM
Do you have any plans to include functionality similar to what exists in the various functoids in the Biztalk mapper?

Postnext
(Deleted User) Subject: RE: Generating one to many elements
Author: (Deleted User)
Date: 06 Jun 2003 12:47 PM
Chris,

our mapper support java extension functions which we believe give you more
flexibility to customzie your mapping. I guess Biztalk mapper functorid are
some build-in vb scripts and we don't have plan to work on that direction...


song.


> -----Original Message-----
> From: stylus-studio-xslt Listmanager [mailto:listmanager@edn.exln.com]
> Sent: Friday, June 06, 2003 12:23 PM
> To: Recipients of 'stylus-studio-xslt' suppressed
> Subject: RE: Generating one to many elements
>
>
> From: "Chris Lindley"
>
> Do you have any plans to include functionality similar to what
> exists in the various functoids in the Biztalk mapper?
>
>
>
> To reply: mailto:stylus-studio-xslt.6757@edn.exln.com
> To start a new topic: mailto:stylus-studio-xslt@edn.exln.com
> To login: http://edn.exln.com/~SSDN
>

Posttop
Lee HumphriesSubject: RE: Generating one to many elements
Author: Lee Humphries
Date: 09 Jun 2003 07:50 PM
Hi Chris,

>Do you have any plans to include
>functionality similar to what exists in the
>various functoids in the Biztalk mapper?

We've done a very major Integration project using BizTalk, but the very first thing we did was abandon using the BizTalk mapper. It is a stunningly awful kludge.

It was particularly painful to note that they had functoids to do tasks that could be more readily done with native XSLT and XPath. In short, whoever wrote it didn't know more than the absolute basics of XSLT. In fact, having spoken to some of the BizTalk development team I can make that statement with a high degree of certainty.

With BizTalk using XDR schemas it really is a technological orphan. There are so many things that you can do with either DTDs or XML Schemas that you can't do with XDRs that you're left brain-damaging your schemas just to get things to work.

Here's my suggestions for successfully working with BizTalk (if you must).
1. Only use the BizTalk mapper to generate the shell of the BizTalk mapper file. The last section of the file contains the actual XSLT, just use Stylus to write the XSLT and then drop it into this section (although you may have to remove some of the declarations).

2. Set up wrapper BizTalk schemas for your real documents. This does mean that you'll be working with at least two namespaces, but it really isn't too painful.

3. To do any real XSLT work, set up COM components (or even scripts) to run your XSLTs against your documents. In this approach you can even get to the point of not using BizTalk for any mapping directly. Which is what we found to be most preferable.

Regards,
Lee



 
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.