Current section

Files

Jump to
bpe src ext bpe_xml.erl
Raw

src/ext/bpe_xml.erl

-module(bpe_xml).
-include_lib("bpe/include/bpe.hrl").
-include_lib("xmerl/include/xmerl.hrl").
-compile(export_all).
attr(E) -> [ {N,V} || #xmlAttribute{name=N,value=V} <- E].
find(E,[]) -> [ {X,find(Sub,[]),attr(A)} || #xmlElement{name=X,attributes=A,content=Sub} <- E];
find(E, I) -> [ {X,find(Sub,[]),attr(A)} || #xmlElement{name=X,attributes=A,content=Sub} <- E, X == I].
load() ->
{ok,Bin} = file:read_file("priv/diagram_1.bpmn"),
{#xmlElement{name=N,content=C}=X,_} = xmerl_scan:string(binary_to_list(Bin)),
E = {N,find(C,'bpmn:process'),attr(C)},
io:format("Compact Form ~p~n",[E]),
ok.