Ændring i childnode og kopi af resten af dokument.
HejJeg vil gerne lave ændring i et del-dokument vha. af xslt, men ellers lade resten af dokumentet fremstå uændret. Jeg er meget lille erfaring med XSLT, men har dog kendskab til XPATH og xml generelt så det burde da være til at finde ud af.
Jeg har et dokument som ses nederst, der er bygget på slags Petri net notation. Dpnml er root og place, transition og pattern er alle cildren af den.
Nu vil jeg gerne flytte en token der er et element i et place til et andet place vha. XSLT. Den token der findes i place[@id=p2] skal så enten flyttes til place p4 eller p5. Resten af dokumentet skal være uændret. Vælget mellem et af de to places skal ske på baggrund af en condition som jeg selv laver.
Men i første omgang hvordan kopierer jeg hele documentet pånær places som skal modificeres før de kopieres?
På forhånd tak.
Rasmus
Her er mit startdokument:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="dpnml.xslt"?>
<dpnml xmlns="http://www.itu.dk/people/rlh">
<place id="p2" name="">
<tokens>
<token tokenid="2" caseid="1" xsi:type="tokenplace2">
<name>
<firstname>XXX</firstname>
<lastname>YYY</lastname>
</name>
<cpr>270678-1111</cpr>
<tel>99999999</tel>
</token>
</tokens>
</place>
<place id="p4" name="">
<tokens/>
</place>
<place id="p5" name="">
<tokens/>
</place>
<transition id="t2" type="simple">
<invoke partnerlink="Ribers" operation="async">
<inputvariable xsi:type="inputvariableType1">
<firstname />
<lastname />
<cpr />
</inputvariable>
<outputvariable xsi:type="outputvariableType1">
<ribers />
</outputvariable>
</invoke>
<condition place="p2"/>
</transition>
<pattern id="wp5" name="exclusiveChoice">
<inputplace ref="p2"/>
<block>
<transition ref="t2"/>
<outputplace ref="p4"/>
</block>
<block>
<transition ref="t2"/>
<outputplace ref="p5"/>
</block>
</pattern>
</dpnml>
Sådan vil jeg gerne have det til at se ud:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="dpnml.xslt"?>
<dpnml xmlns="http://www.itu.dk/people/rlh">
<place id="p2" name="">
<tokens/>
</place>
<place id="p4" name="">
<tokens>
<token tokenid="2" caseid="1" xsi:type="tokenplace2">
<name>
<firstname>XXX</firstname>
<lastname>YYY</lastname>
</name>
<cpr>270678-1111</cpr>
<tel>99999999</tel>
</token>
</token>
</place>
<place id="p5" name="">
<tokens/>
</place>
.... det samme som før