如何使用嵌套包生成UML包图,这些包可能包含不同级别的相同名称?

时间:2017-10-31 07:05:50

标签: plantuml

我想生成一个包含分层包的包图,这些包可能包含重复的名称但不在同一级别。 e.g:

@startuml
package A {
    package B {
        package C
    }
    package A
}
@enduml

我认为,package A.A可能是可以接受的。但plantuml因错误而失败:Thie element (A) is already defined

我也尝试以下方法:

@startuml
folder A {
    folder B {
        folder C
    }
    folder A
}
@enduml

然后,plantuml失败并出现同样的错误。

2 个答案:

答案 0 :(得分:3)

如果在定义中包含非打印字符,则可以绘制具有重复名称的图表,例如将名称放在引号中并包含一个或多个空格字符:

@startuml
package A {
    package B {
        package C
    }
    package "A "
    package "A  "
}
@enduml

其他空格不会影响图表中的布局:

UML class diagram with duplicated packages

答案 1 :(得分:2)

其中一个选项:

@startuml
package A as pkg0{
    package B as pkg1{
    }
    package A as pkg2{
        package A as pkg3{
        }
    }
    package A as pkg4{
    }
}
@enduml

将给出结果

enter image description here