[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Conditional document merge

Subject: Conditional document merge
From: "Hunsberger, Peter" <Peter.Hunsberger@xxxxxxxxxx>
Date: Mon, 27 May 2002 10:15:58 -0500
document merge
I've got a more or less classic problem of merging two XML documents.  The
gotcha's in this case are as follows:

1) document A is guaranteed to contain all required nodes, and will include
some that are not needed, but the order of the nodes may be out of order.

2) document B man not contain all required nodes, if it is missing any, some
may be flagged as being mandatory in document A, others may be optional and
will not be included in the output.  Document B will have all nodes in the
required order, any missing nodes can be substituted immediately following
any previous match.  Document B will contain attributes that override any
from document A.

For example, document A might look like:

   <root>
	<a required="1" title="Example 1"/>
	<b title="Example 2"/>
	<c title="Example 3"/>
	<d required="1" title="Example 4"/>
	<e title="Example 5"/>
   </root>

Document B might look like:

   <root>
	<e/>
	<a title=" New title 1"/>
	<c/>
   </root>

The required output would be:

   <root>
	<e title="Example 5"/>
	<a title=" New title 1"/>
	<c title="Example 3"/>
	<d title="Example 4"/>
   </root>

Where element b is skipped because it is not in document B and is not marked
as required.

Any opinions on what the best way to approach this is?  Currently I'm using
document B as the primary source and filling in any missing data from
Document A as I traverse document B.  However, I do not yet handle the case
of missing required nodes and I'm not sure how I would pick up on them?  The
alternative of driving things from document A and throwing out the missing
not required nodes doesn't seem any simpler, or would there be some elegant
way of building a key against document A and then using document B to select
from it in the proper order automagically skipping the nodes that aren't
required and aren't in document B?

Peter Hunsberger

Phone: 901-495-5252
E-mail: Peter.Hunsberger@xxxxxxxxxx


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.