Я использую Graphviz (а именно Dot) для создания конечного автомата API Hypermedia, который я планирую построить. На моем графике узлы представляют состояния, а ребра - ссылки. То, что я пытаюсь сделать, это иметь края (ссылки) одного и того же типа (то есть использовать один и тот же глагол или один и тот же rel) для совместного использования атрибутов, таких как color
.Graphviz Sharing Атрибуты между узлами или краями
Я знаю, что вы можете определить «глобальные» атрибуты, которые применяются ко всем узлам/ребрам, но мне нужно что-то, что я могу применить в целом к нескольким различным «типам». Ближайшая аналогия, которую я могу придумать для того, что я хочу, - это классы HTML. Мне не нужны несколько «классов» для моих ребер (хотя это было бы хорошо), но повторяющиеся атрибуты, такие как color=red, style=bold
, громоздки.
Есть ли способ в Dot объявить что-то вроде этого? Или, по крайней мере, каким-то образом мне не нужно повторять себя так часто?
Спасибо, я никогда раньше не использовал M4. Это было легко :) –
Я бы рекомендовал вариант (B). Если вы создаете .dot-файл из Python/Perl и т. Д., Я бы предложил использовать библиотеки шаблонов, а не строить строчку по частям. –