XSLT to merge two files

K

Klaus Baumgart

Hi,

the results should look like this example. But I dont know how the
stylesheet has to create.

Thanks for helping


Datei1.xml + Datei2.xml = Datei3.xml (results)




Datei1.xml

<?xml version="1.0" encoding="utf-8"?>
<document>
<row>
<Arbeitsplan-Nr.>AP11510-1</Arbeitsplan-Nr.>
<Bezeichnung>Winkelkabelschuhe 90° 5 - 10 mm² f</Bezeichnung>
</row>
<row>
<Arbeitsplan-Nr.>AP11512-1</Arbeitsplan-Nr.>
<Bezeichnung>Winkelkabelschuhe 90° 8 - 10 mm² f</Bezeichnung>
</row>
<row>
<Arbeitsplan-Nr.>AP11514-1</Arbeitsplan-Nr.>
<Bezeichnung>Winkelkabelschuhe 90° 12 - 10 mm² f</Bezeichnung>
</row>
</document>


Datei2.xml

<?xml version="1.0" encoding="utf-8"?>
<document>
<Pos>
<Arbeitsplan-Nr.>AP11510-1</Arbeitsplan-Nr.>

<Arbeitsgang-Nr._des_Arbeitsganges>AG11510-S3</Arbeitsgang-Nr._des_Arbeitsga
nges>

<Position_des_Arbeitsganges_im_Arbeitsplan>10</Position_des_Arbeitsganges_im
_Arbeitsplan>
</Pos>
<Pos>
<Arbeitsplan-Nr.>AP11512-1</Arbeitsplan-Nr.>

<Arbeitsgang-Nr._des_Arbeitsganges>AG11512-S3</Arbeitsgang-Nr._des_Arbeitsga
nges>

<Position_des_Arbeitsganges_im_Arbeitsplan>10</Position_des_Arbeitsganges_im
_Arbeitsplan>
</Pos>
<Pos>
<Arbeitsplan-Nr.>AP11512-1</Arbeitsplan-Nr.>

<Arbeitsgang-Nr._des_Arbeitsganges>AG11512-P13</Arbeitsgang-Nr._des_Arbeitsg
anges>

<Position_des_Arbeitsganges_im_Arbeitsplan>20</Position_des_Arbeitsganges_im
_Arbeitsplan>
</Pos>
<Pos>
<Arbeitsplan-Nr.>AP11512-1</Arbeitsplan-Nr.>

<Arbeitsgang-Nr._des_Arbeitsganges>AG11512-P5</Arbeitsgang-Nr._des_Arbeitsga
nges>

<Position_des_Arbeitsganges_im_Arbeitsplan>30</Position_des_Arbeitsganges_im
_Arbeitsplan>
</Pos>
<Pos>
<Arbeitsplan-Nr.>AP11514-1</Arbeitsplan-Nr.>

<Arbeitsgang-Nr._des_Arbeitsganges>AG11514-S3</Arbeitsgang-Nr._des_Arbeitsga
nges>

<Position_des_Arbeitsganges_im_Arbeitsplan>10</Position_des_Arbeitsganges_im
_Arbeitsplan>
</Pos>
<Pos>
<Arbeitsplan-Nr.>AP11514-1</Arbeitsplan-Nr.>

<Arbeitsgang-Nr._des_Arbeitsganges>AG11514-P13</Arbeitsgang-Nr._des_Arbeitsg
anges>

<Position_des_Arbeitsganges_im_Arbeitsplan>20</Position_des_Arbeitsganges_im
_Arbeitsplan>
</Pos>
</document>

Datei3.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE document []>
<Arbeitsplan>
<Kopf>
<Arbeitsplan-Nr.>AP11510-1</Arbeitsplan-Nr.>
<Pos>
<Arbeitsplan-Nr.>AP11510-1</Arbeitsplan-Nr.>

<Arbeitsgang-Nr._des_Arbeitsganges>AG11510-S3</Arbeitsgang-Nr._des_Arbeitsga
nges>

<Position_des_Arbeitsganges_im_Arbeitsplan>10</Position_des_Arbeitsganges_im
_Arbeitsplan>
</Pos>
<Bezeichnung>Winkelkabelschuhe 90° 5 - 10 mm² f</Bezeichnung>
</Kopf>
<Kopf>
<Arbeitsplan-Nr.>AP11512-1</Arbeitsplan-Nr.>
<Pos>
<Arbeitsplan-Nr.>AP11512-1</Arbeitsplan-Nr.>

<Arbeitsgang-Nr._des_Arbeitsganges>AG11512-S3</Arbeitsgang-Nr._des_Arbeitsga
nges>

<Position_des_Arbeitsganges_im_Arbeitsplan>10</Position_des_Arbeitsganges_im
_Arbeitsplan>
</Pos>
<Pos>
<Arbeitsplan-Nr.>AP11512-1</Arbeitsplan-Nr.>

<Arbeitsgang-Nr._des_Arbeitsganges>AG11512-P13</Arbeitsgang-Nr._des_Arbeitsg
anges>

<Position_des_Arbeitsganges_im_Arbeitsplan>20</Position_des_Arbeitsganges_im
_Arbeitsplan>
</Pos>
<Pos>
<Arbeitsplan-Nr.>AP11512-1</Arbeitsplan-Nr.>

<Arbeitsgang-Nr._des_Arbeitsganges>AG11512-P5</Arbeitsgang-Nr._des_Arbeitsga
nges>

<Position_des_Arbeitsganges_im_Arbeitsplan>30</Position_des_Arbeitsganges_im
_Arbeitsplan>
</Pos>
<Bezeichnung>Winkelkabelschuhe 90° 8 - 10 mm² f</Bezeichnung>
</Kopf>
<Kopf>
<Arbeitsplan-Nr.>AP11514-1</Arbeitsplan-Nr.>
<Pos>
<Arbeitsplan-Nr.>AP11514-1</Arbeitsplan-Nr.>

<Arbeitsgang-Nr._des_Arbeitsganges>AG11514-S3</Arbeitsgang-Nr._des_Arbeitsga
nges>

<Position_des_Arbeitsganges_im_Arbeitsplan>10</Position_des_Arbeitsganges_im
_Arbeitsplan>
</Pos>
<Pos>
<Arbeitsplan-Nr.>AP11514-1</Arbeitsplan-Nr.>

<Arbeitsgang-Nr._des_Arbeitsganges>AG11514-P13</Arbeitsgang-Nr._des_Arbeitsg
anges>

<Position_des_Arbeitsganges_im_Arbeitsplan>20</Position_des_Arbeitsganges_im
_Arbeitsplan>
</Pos>
<Bezeichnung>Winkelkabelschuhe 90° 12 - 10 mm² f</Bezeichnung>
</Kopf>
</Arbeitsplan>
 
J

Johannes Koch

Klaus said:
the results should look like this example. But I dont know how the
stylesheet has to create.

Thanks for helping


Datei1.xml + Datei2.xml = Datei3.xml (results)

Use the document function.
 
T

Tjerk Wolterink

Klaus said:
Hi,

the results should look like this example. But I dont know how the
stylesheet has to create.

Thanks for helping


Datei1.xml + Datei2.xml = Datei3.xml (results)



[ snip: allot of xml ]


We are here not to give you a complete xsl file as a solution,
you can learn xsl yourself. if you have problems we can give solution,

the solution is already given: the document function.

More explanation:


<xs:variable name="datei1" select="document('./path/to/datei1.xml')"/>
<xs:variable name="datei2" select="document('./path/to/datei2.xml')"/>


Now you can refer to datei1 or 2 using
$datei1/a/xpath/expression/to/some/node

or $datei2/xpath/expression.

Hope it helps
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,001
Messages
2,570,254
Members
46,849
Latest member
Fira

Latest Threads

Top