Multilingual Wiki Documentation

You are currently using syntax.
In an attempt to improve PlantUML documentation...
Please do not use this website for your own diagrams.
You can click here and use the online server here for your own documentation.

Wiki Toc    Recent changes    View page history    Add new chapter    Reorder page    Raw


アップグレードに関するメモ(リンク、ハイパーリンクについて)

ハイパーリンクの機能は反復型開発モデルにより導入されたため、バージョンによって少しずつ文法が異なります。バージョン8058から、ハイパーリンクの文法は明確に定義され安定なものとなりました。

残念ながら、以前の古い文法からの細かい変更点について、既存のダイアグラムのソースをアップデートする必要があります。これは、可能な限り後方互換性を維持するために避けたいことなのですが、開発を前進させるために必要な場合もあります。

幸い、古い文法で書かれたダイアグラムを新しいバージョンのPlantUMLで生成すること自体は可能です。その結果、リンクの見た目が異なってしまう場合がありますが、許容範囲の変更だと考えています。

Upgrading note (about Links and Hyperlinks)

Hyperlinks have been introduced in iterative mode so there have been some slight syntax changes with different versions. Starting with version 8058, syntax about hyperlink is now clearly defined and stable.

Unfortunately, there are some tiny changes from previous legacy syntax, so you may have to update your existing source diagrams. This is something we do not like, because we try to guarantee ascending compatibility as far as possible. But in some cases, we have to move forward.

The good news is that older legacy diagrams will still be generated by newer versions of PlantUML. The only impact is that some links may be displayed differently, so we think it is an acceptable change.

フォーマット定義

シンプルなリンク

シンプルなリンクは2つの角括弧(クラス図のフィールドとメソッドでは3つの角括弧)を使って定義します。

:
  • [[http://plantuml.com]]
  • [[]] (空のリンク)

ラベル付きのリンク

オプションのラベルを設定して、リンク自体の代わりに表示させることもできます。URLの後に半角空白を入れて区切ります。

: [[http://plantuml.com このラベルが表示されます]]

ツールチップ付きのリンク

波括弧を使ってオプションのツールチップを設定することができます。URLの直後、ラベルの前に記述します。

: [[http://plantuml.com{オプションのツールチップ} このラベルが表示されます]]

ツールチップのみ

波括弧を使ってツールチップのみを設定することもできます。

: [[{ツールチップ}]]

ツールチップとラベルのみ

波括弧を使ったツールチップとラベルのみを設定することもできます。

: [[{ツールチップ} このラベルが表示されます]

Format definition

Simple link

Simple links are define using two square brackets (or three square brackets for field or method on class diagram).

Example:
  • [[http://plantuml.com]]
  • [[]] (empty link)

Link with optional label

It is possible to give an optional label that will be printed instead of the link itself. A space is used as separator after the URL itself.

Example: [[http://plantuml.com This label is printed]]

Link with optional tooltip

Finally you can also have an optional tooltip using round brackets, just after the URL and before the optional label.

Example: [[http://plantuml.com{Optional tooltip} This label is printed]]

Only tooltip

You can also have only a tooltip using round brackets.

Example: [[{A tooltip}]]

Only tooltip and label

You can also have only a tooltip using round brackets, and a label.

Example: [[{A tooltip} This label is printed]]

シーケンス図におけるリンク

以下はリンクの機能の例です:

@startuml
actor Bob [[http://plantuml.com/sequence]]
actor "This is [[http://plantuml.com/sequence Alice]] actor" as Alice
Bob -> Alice [[http://plantuml.com/start]] : hello
note left [[http://plantuml.com/start]]
  a note with a link
end note
Alice -> Bob : hello with [[http://plantuml.com/start{Tooltip for message} some link]]
note right [[http://plantuml.com/start]] : another note
note left of Bob
You can use [[http://plantuml.com/start links in notes]] also.
end note
@enduml

Links in sequence diagram

The following example lists some links features:

@startuml
actor Bob [[http://plantuml.com/sequence]]
actor "This is [[http://plantuml.com/sequence Alice]] actor" as Alice
Bob -> Alice [[http://plantuml.com/start]] : hello
note left [[http://plantuml.com/start]]
  a note with a link
end note
Alice -> Bob : hello with [[http://plantuml.com/start{Tooltip for message} some link]]
note right [[http://plantuml.com/start]] : another note
note left of Bob
You can use [[http://plantuml.com/start links in notes]] also.
end note
@enduml

クラス図におけるリンク

@startuml
class Car [[http://plantuml.com/link]]
class Wheel [[http://plantuml.com/sequence]]
note left [[http://plantuml.com]]
foo
end note
Car *-- Wheel [[http://plantuml.com/class]] : has some
@enduml

クラス定義でフィールドやメソッドにリンクを定義したい場合には、3つの角括弧を使った特別な記法を使います。

@startuml
class Car {
  - Some field [[[http://plantuml.com]]]
  Some method() [[[http://plantuml.com/link]]]
}
@enduml

@startuml
Object <|-- Foo

class Foo {
  + Object[]   [[[http://www.google.com]]]
  + methods1() [[[http://www.yahoo.com/A1{Some explainations about this method}]]]
  + methods2() [[[http://www.yahoo.com/A2]]]
}
  
class Foo2 {
  + methods1() [[[http://www.yahoo.com/B1]]]
  + methods2() [[[http://www.yahoo.com/B2]]]
}
  
class Object [[http://www.yahoo.com]]
@enduml

Links in class diagram

@startuml
class Car [[http://plantuml.com/link]]
class Wheel [[http://plantuml.com/sequence]]
note left [[http://plantuml.com]]
foo
end note
Car *-- Wheel [[http://plantuml.com/class]] : has some
@enduml

There is a special syntax with 3 square brackets in class definition when you want to define a link on field or method. For example:

@startuml
class Car {
  - Some field [[[http://plantuml.com]]]
  Some method() [[[http://plantuml.com/link]]]
}
@enduml

@startuml
Object <|-- Foo

class Foo {
  + Object[]   [[[http://www.google.com]]]
  + methods1() [[[http://www.yahoo.com/A1{Some explainations about this method}]]]
  + methods2() [[[http://www.yahoo.com/A2]]]
}
  
class Foo2 {
  + methods1() [[[http://www.yahoo.com/B1]]]
  + methods2() [[[http://www.yahoo.com/B2]]]
}
  
class Object [[http://www.yahoo.com]]
@enduml

アクティビティ図におけるリンク

@startuml
start
[[http://plantuml.com]]:Some activity;
:Some [[http://plantuml.com link]];
end
@enduml

Links in activity diagram

@startuml
start
[[http://plantuml.com]]:Some activity;
:Some [[http://plantuml.com link]];
end
@enduml

ノートにおけるリンク

ノートの先頭でリンクを指定することもできます(この場合ノート全体にリンクが適用されます)。または、ノートの内部の一部分のみをリンクにすることもできます。

@startuml
:Foo:
note left of Foo [[http://www.google.com]]
This is a note
end note

note right of Foo
Yet another link to [[http://www.google.com]] as demo.
You can also [[http://www.yahoo.fr specify a text]] for the link.
And even [[http://www.yahoo.fr{This is a tooltip} add a tooltip]] to the link.
end note
@enduml

[Ref. Incubation: URL in diagrams]

Links in notes

It is also possible to specify a link at the beginning of a note (the link applies to the full note), or inside a note (for a portion of the note).

@startuml
:Foo:
note left of Foo [[http://www.google.com]]
This is a note
end note

note right of Foo
Yet another link to [[http://www.google.com]] as demo.
You can also [[http://www.yahoo.fr specify a text]] for the link.
And even [[http://www.yahoo.fr{This is a tooltip} add a tooltip]] to the link.
end note
@enduml

[Ref. Incubation: URL in diagrams]

明示的URLディレクティブによるリンク

url of XXX is [[yyy]]の構文を使用できます:

シーケンス図

@startuml
Bob -> Alice : ok
url of Bob is [[http://www.google.com]]
@enduml

クラス図

@startuml
skinparam topurl http://www.google.com
Dog --|> Mammal
url of Mammal is [[/search]]
url of Dog is [[http://www.yahoo.com{This is Dog}]]
Dog o-- Cat
Cat --|> Mammal
@enduml

ユースケース図

@startuml
actor Mamal
usecase Dog

url of Mamal is [[http://www.google.com]]
url of Dog is [[http://www.yahoo.com{This is Dog}]]
@enduml

コンポーネント図、配置図

@startuml
node Mamal
component Dog

url of Mamal is [[http://www.google.com]]
url of Dog is [[http://www.yahoo.com{This is Dog}]]
@enduml

[Ref. Incubation: URL in diagrams]

Links with explicit URL directive

You can use the url of XXX is [[yyy]] syntax:

On sequence diagram

@startuml
Bob -> Alice : ok
url of Bob is [[http://www.google.com]]
@enduml

On class diagram

@startuml
skinparam topurl http://www.google.com
Dog --|> Mammal
url of Mammal is [[/search]]
url of Dog is [[http://www.yahoo.com{This is Dog}]]
Dog o-- Cat
Cat --|> Mammal
@enduml

On usecase diagram

@startuml
actor Mamal
usecase Dog

url of Mamal is [[http://www.google.com]]
url of Dog is [[http://www.yahoo.com{This is Dog}]]
@enduml

On component or deployment diagram

@startuml
node Mamal
component Dog

url of Mamal is [[http://www.google.com]]
url of Dog is [[http://www.yahoo.com{This is Dog}]]
@enduml

[Ref. Incubation: URL in diagrams]

矢印におけるリンク(リンク、コネクションにおけるハイパーリンク)

クラス図

@startuml
class Car 
Car *-- Wheel [[http://plantuml.com/class-diagram]] : has some
@enduml

コンポーネント図、配置図

FIXME
🚩 See Wanted features QA-6397
FIXME

@startuml
node Car 
Car *-- Wheel [[http://plantuml.com/deployment-diagram]] : has some
@enduml

[Ref. QA-6397]

状態図

FIXME
🚩 Same Issue
FIXME

@startuml
state Car
state CarWithWheel
Car -> CarWithWheel [[http://plantuml.com/state-diagram]] : Add wheel to car
@enduml

Links in arrow (or Hyperlinks in link or connection)

Class diagram

@startuml
class Car 
Car *-- Wheel [[http://plantuml.com/class-diagram]] : has some
@enduml

Component or Deployment diagram

FIXME
🚩 See Wanted features QA-6397
FIXME

@startuml
node Car 
Car *-- Wheel [[http://plantuml.com/deployment-diagram]] : has some
@enduml

[Ref. QA-6397]

State diagram

FIXME
🚩 Same Issue
FIXME

@startuml
state Car
state CarWithWheel
Car -> CarWithWheel [[http://plantuml.com/state-diagram]] : Add wheel to car
@enduml


Please report any bugs to plantuml@gmail.com or here.
This website is still in beta testing.