[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[xsl] Conditional document merge
Subject: [xsl] Conditional document merge From: "Hunsberger, Peter" <Peter.Hunsberger@xxxxxxxxxx> Date: Mon, 27 May 2002 10:15:58 -0500 |
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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: AW: AW: [xsl] name space troubl, David Carlisle | Thread | RE: [xsl] Conditional document merg, TSchutzerWeissmann |
RE: AW: [xsl] name space troubles, Hunsberger, Peter | Date | [xsl] XSL-FO Java API, Tim Meals |
Month |
Keywords