|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: order update
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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








