Re: [xsl] Mapping from two sources

Subject: Re: [xsl] Mapping from two sources
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Fri, 01 Oct 2010 22:13:45 +0100
On 01/10/2010 8:14 PM, sudheshna iyer wrote:

Grouping handles this well:

<xsl:for-each-group select="$doc1//OrderLine, $doc2//POOrderline" group-by="OLN">
<Oline>
<OLN><xsl:value-of select="current-grouping-key()"></OLN>
<xsl:copy-of select="current-group()/(FName, ID)"/>
</Oline>
</xsl:for-each-group>


Michael Kay
Saxonica

I need to have two sources:

input1 and input2.

input1:
<?xml version="1.0" encoding="ISO-8859-1"?>
<Order>
	<OrderLine>
			<OLN>1</OLN>
			<Fname>aa</Fname>
	</OrderLine>
	<OrderLine>
			<OLN>2</OLN>
			<Fname>bb</Fname>
	</OrderLine>	
</Order>


input2: <?xml version="1.0" encoding="ISO-8859-1"?> <POOrder> <POOrderLine> <OLN>1</OLN> <ID>123</ID> <LName>aa</LName> </POOrderLine> <POOrderLine> <OLN>2</OLN> <ID>324</ID> <LName>bb</LName> </POOrderLine> </POOrder>

I need the output from both sources combined. Please note that first two elements are coming from input1 and thrid element is from input2. What is the
optimal way of doing this?

<?xml version="1.0" encoding="ISO-8859-1"?>
<OrderResponse>
	<Oline>
		<OLN>1</OLN>
		<Fname>aa</Fname>
		<ID>123</ID>
	</Oline>
	<Oline>
		<OLN>2</OLN>
		<Fname>bb</Fname>
		<ID>324</ID>
	</Oline>
</OrderResponse>

Current Thread