%sinaxe_layout; ]> (node|network)[block( set("obj", string(@name)), count(port[block( set("port", string(@name)), count(../../link[(@object1=$obj and @port1=$port) or (@object2=$obj and @port2=$port)])=0 )])>0 )] @name . concat(@name, " (", @dir, ")" . block( set("obj", string($object1.selection/@name)), $object1.selection/port[block( set("port", string(@name)), count(../../link[(@object1=$obj and @port1=$port) or (@object2=$obj and @port2=$port)])=0 )] ) @name . ($object1.listcontext/node|$object1.listcontext/network)[block( set("obj", string(@name)), count(port[string(@dir)!=$port1.selection/@dir][block( set("port", string(@name)), count(../../link[(@object1=$obj and @port1=$port) or (@object2=$obj and @port2=$port)])=0 )])>0 )][string(@name)!=$object1.selection/@name] concat(@name, " (", @dir, ")") . block( set("obj", string($object2.selection/@name)), $object2.selection/port[block( set("port", string(@name)), count(../../link[(@object1=$obj and @port1=$port) or (@object2=$obj and @port2=$port)])=0 )][string(@dir)!=$port1.selection/@dir] ) count($object1.selection) > 0 and count($port1.selection) > 0 and count($object2.selection) > 0 and count($port2.selection) > 0 ${$object1.selection/@name} ${$port1.selection/@name} ${$object2.selection/@name} ${$port2.selection/@name} @object1 concat(set("obj", string(@object1)), set("port", string(@port1)), @port1, " (", ../node[string(@name)=$obj]/port[string(@name)=$port]/@dir, ")") @object2 concat(set("obj", string(@object2)), set("port", string(@port2)), @port2, " (", ../node[string(@name)=$obj]/port[string(@name)=$port]/@dir, ")") does_not_exist @name ${$value} string(@dir)="in" string(@dir)="out" ${$value} property[@name="type"][1]/@value type ${$value} @name ${$value} @value ${$value} @name 1 ${$name.value} count(../node[@name=$name.value])=0 property[@name="library"][1]/@value ${$value} property[@name="class"][1]/@value ${$value} port concat(@name, " (", @dir, ")") $ports.selection block(set("portnameinput.value", trim($portnameinput.value)), count($ports.context/port[@name=$portnameinput.value])=0 and $portnameinput.value!="") ${$portnameinput.value} in $ports.pressedposition property[@name!="class"][@name!="library"] concat("name=", @name, " value=", @value) $props.pressedposition does_not_exist node | network @name property[@name="pos"][1]/@value link block(set("obj1", string(@object1)), set("port1", string(@port1)), set("obj2", string(@object2)), set("port2", string(@port2)), concat(../node[@name=$obj1][count(port[@name=$port1][@dir="out"])>0]/@name, ../node[@name=$obj2][count(port[@name=$port2][@dir="out"])>0]/@name)) block(set("obj1", string(@object1)), set("port1", string(@port1)), set("obj2", string(@object2)), set("port2", string(@port2)), concat(../node[@name=$obj1][count(port[@name=$port1][@dir="in"])>0]/@name, ../node[@name=$obj2][count(port[@name=$port2][@dir="in"])>0]/@name)) pos ${$newnodeposition} block(set("value", trim($nodenameinput.value)), count($graph.context/node[@name=$value])=0 and count($graph.context/network[@name=$value])=0 and $value!="") ${$nodenameinput.value} CPP_Process pos ${$graph.internalpressedposition} block(set("netnameinput.value", trim($netnameinput.value)), count($graph.context/node[@name=$netnameinput.value])=0 and count($graph.context/network[@name=$netnameinput.value])=0 and $netnameinput.value!="") ${$netnameinput.value} KPN pos ${$graph.internalpressedposition} $graph.pressedposition $graph.context $graph.context $graph.selection[1] name(.)="node" | name(.)="network" name(.)="link" $graph.selection[1] name(.)="network" concat($fileloader.filename, "/", lcat($graph.context/ancestor-or-self::*/@name, ".", 1)) $graph.context/..