|
Subject: Re: [xsl] order update From: "Joerg Heinicke" <joerg.heinicke@xxxxxx> Date: Tue, 26 Mar 2002 21:38:13 +0100 |
XML:
<root>
<order ordernr="100">
<orderline orderlinenr="1">
<art>1</art>
</orderline>
</order>
<order ordernr="101">
<orderline orderlinenr="1">
<art>1</art>
</orderline>
</order>
<order ordernr="102">
<orderline orderlinenr="1">
<art>1</art>
</orderline>
</order>
</root>
order.xml
<root>
<order ordernr="101">
<orderline orderlinenr="2">
<art>50</art>
</orderline>
<orderline orderlinenr="3">
<art>60</art>
</orderline>
</order>
</root>
XSL
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:variable name="file" select="document('order.xml')"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="order">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<xsl:apply-templates select="orderline |
$file/root/order[@ordernr=current()/@ordernr]/orderline">
<xsl:sort select="@orderlinenr"/>
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Output
<root>
<order ordernr="100">
<orderline orderlinenr="1">
<art>1</art>
</orderline>
</order>
<order ordernr="101">
<orderline orderlinenr="1">
<art>1</art>
</orderline>
<orderline orderlinenr="2">
<art>50</art>
</orderline>
<orderline orderlinenr="3">
<art>60</art>
</orderline>
</order>
<order ordernr="102">
<orderline orderlinenr="1">
<art>1</art>
</orderline>
</order>
</root>
Hope this helps,
Joerg
> i have an xml that contains 1 orderline of order 100
>
> <order ordernr="100">
> <orderline orderlinenr="1">
> <art>1</art>
> </orderline>
> </orderline>
>
> now i want to add new orderlines from an update.xml file
> which contains
>
> <order ordernr="100">
> <orderline orderlinenr="2">
> <art>50</art>
> </orderline>
> <orderline orderlinenr="3">
> <art>60</art>
> </orderline>
> </orderline>
>
> How do i put these 2 together without loosing the first orderline that is
already in this order.
>
> output xml should be
>
> <order ordernr="100">
> <orderline orderlinenr="1">
> <art>1</art>
> </orderline>
> <orderline orderlinenr="2">
> <art>50</art>
> </orderline>
> <orderline orderlinenr="3">
> <art>60</art>
> </orderline>
> </orderline>
>
> thanks
> pGl
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] order update, progressdll linux | Thread | RE: [xsl] How to get XSL transform , WATKIN-JONES,ADAM (H |
| Re: [xsl] efficiency, Wendell Piez | Date | Re: [xsl] problem big files >1Mo, Joerg Heinicke |
| Month |