1digraph { 2 compound=true 3 fontname="Inconsolata, Consolas" 4 fontsize=10 5 margin="0,0" 6 ranksep=0.2 7 nodesep=0.5 8 penwidth=0.5 9 colorscheme=spectral7 10 11 node [shape=box, fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5, style=filled, fillcolor=white] 12 edge [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5] 13 14 subgraph cluster1 { 15 margin="10,10" 16 labeljust="left" 17 label = "SAX" 18 style=filled 19 fillcolor=6 20 21 Reader -> Writer [style=invis] 22 } 23 24 subgraph cluster2 { 25 margin="10,10" 26 labeljust="left" 27 label = "DOM" 28 style=filled 29 fillcolor=7 30 31 Value 32 Document 33 } 34 35 Handler [label="<<concept>>\nHandler"] 36 37 { 38 edge [arrowtail=onormal, dir=back] 39 Value -> Document 40 Handler -> Document 41 Handler -> Writer 42 } 43 44 { 45 edge [arrowhead=vee, style=dashed, constraint=false] 46 Reader -> Handler [label="calls"] 47 Value -> Handler [label="calls"] 48 Document -> Reader [label="uses"] 49 } 50}