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 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
(Deleted User) Subject: Unexpected for-each behaviour
Author: (Deleted User)
Date: 09 Jun 2003 10:23 AM
I'm mapping an xCBL invoice to a BASDA Invoice.
Obviously the expected output would be:

InvoiceHeader
InvoiceLine
InvoiceLineNumber1
InvoiceLineItem1
InvoiceLine
InvoiceLineNumber2
InvoiceLineItem2
InvoiceLine
InvoiceLineNumber3
InvoiceLineItem3
InvoiceFooter

but instead I am getting

InvoiceHeader
InvoiceLine
InvoiceLineNumber1
InvoiceLineNumber2
InvoiceLineNumber3
InvoiceLineItem1
InvoiceLineItem2
InvoiceLineItem3
InvoiceFooter

Any ideas?
I've mapped the orders for these specifications successfully so why this?
I've attached the docs.

Thx


DocumentxCBL.Invoice.Schema(1).xsd
Source schema (xCBL)

Documentinvoice-v3(1).xsd
Destination schema (BASDA)

DocumentInvoice-xCBL-BASDA1.xsl
Map

Document526e1272-78b0-1000-8e1a-c0a80ad70001(1).xml
Test doc

Postnext
(Deleted User) Subject: RE: Unexpected for-each behaviour
Author: (Deleted User)
Date: 09 Jun 2003 11:10 AM
are you saying the mapper generated wrong xsl or the the xsl looks fine but
the processor produce an unexpected result?

from what you described, I assume that you link all the source element
inclduing InvoiceLineNumber1, InvoiceLineNumber2, InvoiceLineNumber3,
InvoiceLineItem1, InvoiceLineItem2
, InvoiceLineItem3 into the target element InvoiceLine? but if you really
need 3 seperated InvoiceLine, you need to use 'DuplicateNode' feature to
create 3 seperate InvoiceLine and link InvoiceLineNumber1 and
InvoiceLineItem1 into the first, InvoiceLineNumber2 and InvoiceLineItem2
into second InvoiceLine and so on..

please clarify if this is not what you mean?

song


> -----Original Message-----
> From: stylus-studio-tech Listmanager [mailto:listmanager@edn.exln.com]
> Sent: Monday, June 09, 2003 10:45 AM
> To: Recipients of 'stylus-studio-tech' suppressed
> Subject: Unexpected for-each behaviour
>
>
> From: "Chris Lindley"
>
> I'm mapping an xCBL invoice to a BASDA Invoice.
> Obviously the expected output would be:
>
> InvoiceHeader
> InvoiceLine
> InvoiceLineNumber1
> InvoiceLineItem1
> InvoiceLine
> InvoiceLineNumber2
> InvoiceLineItem2
> InvoiceLine
> InvoiceLineNumber3
> InvoiceLineItem3
> InvoiceFooter
>
> but instead I am getting
>
> InvoiceHeader
> InvoiceLine
> InvoiceLineNumber1
> InvoiceLineNumber2
> InvoiceLineNumber3
> InvoiceLineItem1
> InvoiceLineItem2
> InvoiceLineItem3
> InvoiceFooter
>
> Any ideas?
> I've mapped the orders for these specifications successfully so why this?
> I've attached the docs.
>
> Thx
>
>
>
> To reply: mailto:stylus-studio-tech.6762@edn.exln.com
> To start a new topic: mailto:stylus-studio-tech@edn.exln.com
> To login: http://edn.exln.com/~SSDN
>

Postnext
(Deleted User) Subject: RE: Unexpected for-each behaviour
Author: (Deleted User)
Date: 09 Jun 2003 12:03 PM
Song, you are correct in your assumption of my desired result and yes I do link all the child elements to their corresponding destinations. But this duplicating node feature is of no use as the number of invoice lines is purely random.

I've attached the schemas, map and test doc for the BASDA order to xCBL order which works fine. You'll see no node duplicating in the destination schema yet it still generates two order lines as in the source doc.

Thx.


Documentorder-v3(1).xsd
Source Schema (BASDA)

DocumentxCBL.Order.Schema(1).xsd
Destination schema

DocumentOrder-BASDA-xCBL(1).xsl
Map

Documenttest(3).xml
Test doc

Posttop
(Deleted User) Subject: RE: Unexpected for-each behaviour
Author: (Deleted User)
Date: 09 Jun 2003 12:26 PM
Chris,

as you see, duplicate node is not helpful if the duplication is not fixed.
this is a limitation of mapper. like we discussed before, what you really
need is a conditional mapping which create different output based on
different condition. we don't have this feature yet.

as your test case, I think you are talking about the result xml has multiple
. this is because you have for-each in your stylesheet which
could, obviously, create multiple element depends on your source. in this
case, your mapping didn't involve structure change which means you know your
will repeat based on the same transformation logic.

again, if you want different transformation logic for different
and the number of is fixed, you can use 'duplicate node'.
otherwise, you can't do it in GUI until we have the conditional mapping
functionality.


hope this help.

song.


> -----Original Message-----
> From: stylus-studio-tech Listmanager [mailto:listmanager@edn.exln.com]
> Sent: Monday, June 09, 2003 12:24 PM
> To: Recipients of 'stylus-studio-tech' suppressed
> Subject: RE: Unexpected for-each behaviour
>
>
> From: "Chris Lindley"
>
> Song, you are correct in your assumption of my desired result and
> yes I do link all the child elements to their corresponding
> destinations. But this duplicating node feature is of no use as
> the number of invoice lines is purely random.
>
> I've attached the schemas, map and test doc for the BASDA order
> to xCBL order which works fine. You'll see no node duplicating in
> the destination schema yet it still generates two order lines as
> in the source doc.
>
> Thx.
>
>
>
> To reply: mailto:stylus-studio-tech.6764@edn.exln.com
> To start a new topic: mailto:stylus-studio-tech@edn.exln.com
> To login: http://edn.exln.com/~SSDN
>

 
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 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.