2017-07-13 31 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

相關問題