<?PHP $doc = new DOMDocument(); $doc->load( 'all.bpmn' ); getNodesInfo($doc); function getNodesInfo($node){ $task=array(); $task['StartEvent_1']=0; $taskn=array(); if ($node->hasChildNodes()) { $subNodes = $node->childNodes; foreach ($subNodes as $subNode) { if ($subNode->nodeType==1) { // echo "Node name: ".$subNode->nodeName." "; // echo "Node value: ".$subNode->nodeValue." "; if ($subNode->nodeName=="bpmn:task") { if ($subNode->hasAttributes()) { foreach ($subNode->attributes as $attr) { //name found if ($attr->name=="id") { $wid=$attr->value; } if ($attr->name=="name") { $task[$wid]=$attr->value; // echo "$wid $attr->value "; } } } } if ($subNode->nodeName=="bpmn:sequenceFlow") { if ($subNode->hasAttributes()) { foreach ($subNode->attributes as $attr) { if ($attr->name=="sourceRef") { $s=$attr->value; } if ($attr->name=="targetRef") { if (!isset($taskn[$s])) {$taskn[$s]=$s.",".$attr->value;} else {$taskn[$s].=",".$attr->value;} // echo $s." ".$taskn[$s]." "; } } } } } getNodesInfo($subNode); } } foreach ($task as $d) { $dd=explode(chr(10),$d); // $dd=mb_convert_encoding($dd[0],"sjis","utf8"); $fp=fopen("contents/".$dd[0].".php","w"); $t=""; if (count($dd)>2) {$t=$dd[1];} fputs($fp,"memo\r\n---\r\n".$d."\r\n---\r\n".$t."\r\n---\r\n \r\n---\r\nnavi\r\n"); fclose($fp); } foreach ($taskn as $d) { // echo $d." "; $w=explode(",",$d); $l=""; foreach ($w as $d) { echo $task[$d].","; $l.= $task[$d].","; } $d=explode(",",$l); $dd=explode(chr(10),$d[0]); // $dd=mb_convert_encoding($dd,"sjis","utf8"); $fp=fopen("contents/".$dd[0].".php","w"); $t=""; if (count($dd)>1) {$t=$dd[1];} fputs($fp,"memo\r\n---\r\n".$dd[0]."\r\n---\r\n".$t."\r\n---\r\n \r\n---\r\n"); for ($k=1;$k if ($d[$k]!="") { $dd=explode(chr(10),$d[$k]); fputs($fp,"btnNext('".$dd[0]."'); "); } } fputs($fp,"\r\n---\r\n"); fclose($fp); echo " "; } }