2017-07-13 26 views
0

当我用点(版本2.38.0)处理以下文件时,我得到一个Warning: Arrow type "fooo" unknown - ignoring为什么我用这个点文件得到“Arrow type ... unkown”警告?

digraph { 
    n1 [ label="ND 1" ]; 
    n5 [ label="ND 5" ]; 

    n12 [ 
    label=< 
     <table> 
     <tr> 
      <td port='fooo'>FOOOOOO</td> 
     </tr> 
     </table>> 
    ]; 

    n12:fooo -> n1; 

    n5 -> n1 [arrowhead=invempty]; 

{rank=same; n1 n12} 

} 

我无法弄清楚,为什么是这样。

当我删除n5 -> n1 [arrowhead=invempty];{rank=same; n1 n12}语句时,警告消失。

有人可以向我解释这个吗?

回答

0

它只是不喜欢你的port='fooo'属性,因为这不是端口的定义替代。虽然文件表明,一个ID是还好吧,跟e更换fooo(从可用的“指南针点”选项列表)提供了一个很好的结果:

digraph { 
    n1 [ label="ND 1" ]; 
    n5 [ label="ND 5" ]; 
    n12 [ label=<<table><tr><td port='e'>FOOOOOO</td></tr></table>> ]; 
    n12:e -> n1; 
    n5 -> n1 [arrowhead="invempty"]; 
{rank=same; n1 n12} 
} 

,没有任何形式的警告。这是令人费解的,因为文档指出端口:':'ID [':'compass_pt]是有效的,这表明指南针点是可选的,但该ID不是。你的例子表明否则。

+0

Imho,这是解析器中的一个错误。如果我在'n5 - > n1 [arrowhead = invempty];'后放置'n12:fooo - > n1;''或者如果将'[arrowhead = normal]'添加到'n12:fooo - > n1',警告消失,图形正确显示。 –

+0

我不得不同意@RenéNyffenegger,因为您尝试的语法符合DOT语言文档中概述的规范。 – TomServo

相关问题