有向グラフ記述リファレンス

有向グラフ記述ボキャブラリの概要や、要素・属性を解説します。

1. 概要

有向グラフ記述ボキャブラリの概要を説明します。

1.1. 用途・役割

有向グラフを記述するボキャブラリです。

1.2. 名前空間URI参照

有向グラフ記述ボキャブラリの名前空間URI参照は http://xmlns.xfy.com/directedgraph です。 以下の説明で有向グラフ記述ボキャブラリの要素を記述するときは、dg:という名前空間接頭辞を使用します。 このほか、以下の説明中に出現するボキャブラリと、そのボキャブラリに使用している名前空間接頭辞は次のとおりです。

2. 有向グラフ記述ボキャブラリに属する要素・属性・イベント

有向グラフ記述ボキャブラリボキャブラリに属する要素・属性・イベントを解説します。

2.1. 有向グラフ記述

有向グラフ記述ボキャブラリで、有向グラフ記述に使用される要素・属性は以下のとおりです。

dg:directedgraph 要素

記述する有向グラフの全体を含む要素です。有向グラフの内容は、ノード定義部分とコネクタ定義部分に分かれます。

属性:
width (必須)

有向グラフ全体の幅を設定する属性です。ピクセル単位で記述します。

height (必須)

有向グラフ全体の高さを設定する属性です。ピクセル単位で記述します。

readonly

有向グラフ全体で、内容を選択できるかできないかを設定する属性です。真偽値で記述します。trueを指定すると、ノードやコネクタを選択できなくなります。また、移動やサイズ変更などの操作も禁止されます。falseを指定すると、ノードやコネクタを選択できます。

省略された場合、falseが設定されたと見なされます。

multiple

ノードやコネクタを複数選択できるかできないかを設定する属性です。真偽値で記述します。trueを指定すると、ノードやコネクタを複数選択できます。falseを指定すると、ノードやコネクタは1つずつ選択するようになります。

省略された場合、trueが設定されたと見なされます。

background-color

有向グラフ全体の背景色を設定する属性です。CSSと同じ指定方法で色を記述します。

省略された場合、transparentが設定されたと見なされます。

background-color-opacity

有向グラフ全体の背景色の透明度を設定する属性です。0.0以上、1.0以下の数値で記述します。数値が小さくなるほど透明度が高くなります。1.0にすると、透明度は0となります。

省略された場合、1.0が設定されたと見なされます。

border-color

ノードの枠線の色を設定する属性です。CSSと同じ指定方法で色を記述します。

省略された場合、システムカラーのウィンドウ内のテキスト色が使用されます。

border-color-opacity

ノードの枠線色の透明度を設定する属性です。0.0以上、1.0以下の数値で記述します。数値が小さくなるほど透明度が高くなります。1.0にすると、透明度は0となります。

省略された場合、1.0が設定されたと見なされます。

border-width

ノードの枠線幅を設定する属性です。ピクセル単位で記述します。枠線の幅は、0以上の値が有効となります。負の値が設定された場合は、0に補正されます。

省略された場合、1が設定されたと見なされます。

line-color

コネクタの線の色を設定する属性です。CSSと同じ指定方法で色を記述します。

省略された場合、システムカラーのウィンドウ内のテキスト色が使用されます。

line-color-opacity

コネクタの線色の透明度を設定する属性です。0.0以上、1.0以下の数値で記述します。数値が小さくなるほど透明度が高くなります。1.0にすると、透明度は0となります。

省略された場合、1.0が設定されたと見なされます。

line-width

コネクタの線幅を設定する属性です。ピクセル単位で記述します。コネクタの線幅は、0以上の値が有効となります。負の値が設定された場合は、0に補正されます。

省略された場合、1が設定されたと見なされます。

font-color

有向グラフコンポーネントが管理するテキストの色を設定する属性です。CSSと同じ指定方法で色を記述します。

省略された場合、システムカラーのウィンドウ内のテキスト色が使用されます。

font-color-opacity

有向グラフコンポーネントが管理するテキストの色の透明度を設定する属性です。0.0以上、1.0以下の数値で記述します。数値が小さくなるほど透明度が高くなります。1.0にすると、透明度は0となります。

省略された場合、1.0が設定されたと見なされます。

font-family

有向グラフコンポーネントが管理するテキストに使用するフォント名を設定する属性です。具体的なフォント名を記述します。

省略された場合、sub-font-family属性に従います。

sub-font-family

有向グラフコンポーネントが管理するテキストに使用するフォントの種類を設定する属性です。次のフォントの種類を指定できます。

  • sans-serif
  • serif
  • monospace

font-family属性で設定されたフォントが環境にないときに、このフォントが使用されます。

省略された場合、sans-serifが設定されたと見なされます。

font-size

有向グラフコンポーネントが管理するテキストに使用する文字の大きさを設定する属性です。ポイント単位で記述します。1.0以上の値が有効となります。1.0より小さい値が設定された場合は、1.0に補正されます。

省略された場合、12.0が設定されたと見なされます。

font-bold

有向グラフコンポーネントが管理するテキストを太字で表示するかしないかを設定する属性です。真偽値で記述します。trueを指定すると、太字で表示されます。falseを指定すると、標準の太さで表示されます。

省略された場合、falseが設定されたと見なされます。

font-italic

有向グラフコンポーネントが管理するテキストを斜体で表示するかしないかを設定する属性です。真偽値で記述します。trueを指定すると、斜体で表示されます。falseを指定すると、標準の書体で表示されます。

省略された場合、falseが設定されたと見なされます。

font-underline

有向グラフコンポーネントが管理するテキストに下線を表示するかしないか設定する属性です。真偽値で記述します。trueを指定すると、下線が表示されます。falseを指定すると、下線は表示されません。

省略された場合、falseが設定されたと見なされます。

内容:

dg:directedgraph要素内には以下の要素を記述できます。

  • dg:nodes要素
    必要に応じて、1つ記述できます。省略可能です。
  • dg:connectors要素
    必要に応じて、1つ記述できます。省略可能です。

dg:nodes 要素

すべてのノードを含む要素です。有向グラフに表示する各ノードを記述します。

属性:

属性はありません。

内容:

dg:nodes要素内には以下の要素を記述できます。

  • dg:node要素
    必要に応じて、任意の数だけ記述できます。省略可能です。
  • dg:group要素
    必要に応じて、任意の数だけ記述できます。省略可能です。

dg:connectors 要素

すべてのコネクタを含む要素です。有向グラフに表示する各コネクタを記述します。

属性:
connected-type

コネクタの連結先の設定方法を設定する属性です。次の文字列で記述します。

auto
コネクタの連結先は自動的に設定されます。
specify
コネクタの連結先を個別で設定します。

省略された場合、autoが設定されたと見なされます。

内容:

dg:connectors要素内には以下の要素を記述できます。

  • dg:connector要素
    必要に応じて、任意の数だけ記述できます。省略可能です。

dg:group 要素

グループ化するすべてのノードを含む要素です。グループ化する各ノードを記述します。

グループには、任意のIDを設定します。1つのキャンバス内で、重複したIDを設定することはできません。また、ノードのIDと重複することもできません。

グループ化されたノードを選択すると、グループに属するノードがすべて選択されます。そのため、ノードを移動することはできますが、編集や大きさの変更などの操作はできません。

属性:
id (必須)

グループに固有の識別子を設定する属性です。ID値で記述します。

forbid-move

グループを移動できるかできないかを設定する属性です。真偽値で記述します。trueを指定すると、グループは移動できなくなります。falseを指定すると、グループを移動できるようになります。 グループ内の各ノードにforbid-move属性が設定されている場合は無視されます。

省略された場合、falseが設定されたと見なされます。

background-color

グループ枠の背景色を設定する属性です。CSSと同じ指定方法で色を記述します。

省略された場合、背景は描画されません。

background-color-opacity

グループ枠の背景色の透明度を設定する属性です。0.0以上、1.0以下の数値で記述します。数値が小さくなるほど透明度が高くなります。1.0にすると、透明度は0となります。

省略された場合、0.0が設定されたと見なされます。

border-color

グループ枠の枠線の色を設定する属性です。CSSと同じ指定方法で色を記述します。

省略された場合、枠線は描画されません。

border-color-opacity

グループ枠の枠線の色の透明度を設定する属性です。0.0以上、1.0以下の数値で記述します。数値が小さくなるほど透明度が高くなります。1.0にすると、透明度は0となります。

省略された場合、0.0が設定されたと見なされます。

border-width

グループ枠の枠線の幅を設定する属性です。ピクセル単位で記述します。枠線の幅は、0以上の値が有効となります。負の値が設定された場合は、0に補正されます。

省略された場合、0が設定されたと見なされます。

内容:

dg:group要素内には以下の要素を記述できます。

  • dg:node要素
    必要に応じて、任意の数だけ記述できます。省略可能です。

dg:node 要素

ノードを記述する要素です。ノードには次の種類があります。

  • 長方形ノード
  • 面取長方形ノード
  • 丸め長方形ノード
  • 楕円ノード
  • 自由線ノード

ノードには、任意のIDを設定します。1つのキャンバス内で、重複したIDを設定することはできません。

ノードの内容には、有向グラフコンポーネントが管理するオブジェクトか、外部のXMLボキャブラリを使用したXML文書フラグメントを記述できます。

有向グラフコンポーネントが管理するオブジェクト
有向グラフコンポーネントでは、テキストデータとイメージデータを管理できます。テキストデータは、有向グラフコンポーネントで編集できます。
外部のXMLボキャブラリを使用したXML文書フラグメント
そのボキャブラリを扱うボキャブラリコンポーネントに処理を委譲します。編集操作は、そのボキャブラリコンポーネントの仕様に依存します。

有向グラフコンポーネントが管理するオブジェクトが記述されている場合は、外部のXMLボキャブラリを使用したXML文書フラグメントは無視されます。

面取長方形ノードと丸め長方形ノードでは、 dg:corner要素で頂点の状態を設定できます。

属性:
id (必須)

ノードに固有の識別子を設定する属性です。ID値で記述します。

type

ノードのタイプを設定する属性です。次の文字列で設定します。

rect
長方形ノード
beveled
面取長方形ノード
round
丸め長方形ノード
ellipse
楕円ノード
path
自由線ノード

省略された場合、rectが設定されたと見なされます。

x (必須)

ノードの中心のx座標を設定する属性です。ピクセル単位で記述します。

y (必須)

ノードの中心のy座標を設定する属性です。ピクセル単位で記述します。

width

ノードの幅を設定する属性です。ピクセル単位で記述します。設定された値の扱われ方は、ノードの種類によって異なります。

長方形ノード/面取長方形ノード/丸め長方形ノード
ノードの幅として扱われます。
自由線ノード
ノード全体の幅として扱われます。
楕円ノード
設定された値は無視されます。

値に0が設定された場合、そのノードはキャンバスに表示されません。0未満の値が設定された場合は、0に補正されます。

楕円ノードでは設定しても無視されるので、省略できます。長方形ノード/面取長方形ノード/丸め長方形ノード/自由線ノードでは必須なので、省略できません。

height

ノードの高さを設定する属性です。ピクセル単位で記述します。設定された値の扱われ方は、ノードの種類によって異なります。

長方形ノード/面取長方形ノード/丸め長方形ノード
ノードの高さとして扱われます。
自由線ノード
ノード全体の高さとして扱われます。
楕円ノード
設定された値は無視されます。

値に0が設定された場合、そのノードはキャンバスに表示されません。0未満の値が設定された場合は、0に補正されます。

楕円ノードでは設定しても無視されるので、省略できます。長方形ノード/面取長方形ノード/丸め長方形ノード/自由線ノードでは必須なので、省略できません。

rx

楕円のx軸方向の半径を設定する属性です。ピクセル単位で記述します。楕円ノードには必ず設定します。長方形ノード/面取長方形ノード/丸め長方形ノード/自由線ノードでは、この値は無視されます。0未満の値が設定された場合は、0に補正されます。

長方形ノード/面取長方形ノード/丸め長方形ノード/自由線ノードでは設定しても無視されるので、省略できます。楕円ノードでは必須なので、省略できません。

ry

楕円のy軸方向の半径を設定する属性です。ピクセル単位で記述します。楕円ノードには必ず設定します。長方形ノード/面取長方形ノード/丸め長方形ノード/自由線ノードでは、この値は無視されます。0未満の値が設定された場合は、0に補正されます。

長方形ノード/面取長方形ノード/丸め長方形ノード/自由線ノードでは設定しても無視されるので、省略できます。楕円ノードでは必須なので、省略できません。

readonly

ノードの選択や、ノードの移動、大きさの変更などの編集操作を、実行できるかできないかを設定する属性です。真偽値で記述します。trueを指定すると、ノードの選択や編集操作は実行できなくなります。falseを指定すると、ノードの選択や編集操作を実行できるようになります。

省略された場合、falseが設定されたと見なされます。

forbid-resize

ノードの大きさを変更できるかできないかを設定する属性です。真偽値で記述します。trueを指定すると、ノードの大きさは変更できなくなります。falseを指定すると、ノードの大きさを変更できるようになります。

省略された場合、falseが設定されたと見なされます。

forbid-move

ノードを移動できるかできないかを設定する属性です。真偽値で記述します。trueを指定すると、ノードは移動できなくなります。falseを指定すると、ノードを移動できるようになります。

省略された場合、falseが設定されたと見なされます。

background-color

ノードの背景色を設定する属性です。CSSと同じ指定方法で色を記述します。

省略された場合、システムカラーのウインドウ内の背景色が使用されます。

background-color-opacity

ノードの背景色の透明度を設定する属性です。0.0以上、1.0以下の数値で記述します。数値が小さくなるほど透明度が高くなります。1.0にすると、透明度は0となります。

省略された場合、1.0が設定されたと見なされます。

border-color

ノードの枠線の色を設定する属性です。CSSと同じ指定方法で色を記述します。

省略された場合、 dg:directedgraph要素border-color属性の設定に従います。

border-color-opacity

ノードの枠線の色の透明度を設定する属性です。0.0以上、1.0以下の数値で記述します。数値が小さくなるほど透明度が高くなります。1.0にすると、透明度は0となります。

省略された場合、dg:directedgraph要素のborder-color-opacity属性の設定に従います。

border-width

ノードの枠線の幅を設定する属性です。ピクセル単位で記述します。枠線の幅は、0以上の値が有効となります。負の値が設定された場合は、0に補正されます。

省略された場合、dg:directedgraph要素のborder-width属性の設定に従います。

内容:

dg:node要素内には以下の要素を記述できます。

  • dg:corner要素
    必要に応じて、1つだけ記述できます。省略可能です。
  • dg:label要素
    必要に応じて、1つだけ記述できます。省略可能です。
  • dg:text要素
    必要に応じて、1つだけ記述できます。省略可能です。
  • dg:image要素
    必要に応じて、1つだけ記述できます。省略可能です。
  • dg:foreign-object要素
    必要に応じて、1つだけ記述できます。ただし、dg:text要素やdg:image要素が記述されているときは、この要素は無視されます。省略可能です。

dg:corner 要素

面取長方形ノードや丸め長方形ノードの頂点の状態を記述する要素です。長方形ノード/楕円ノード/自由線ノードでは無視されます。

面取長方形は、長方形の角が直線で切り取られます。丸め長方形では、長方形の角が丸められます。

属性:
rx

4つの隅を切り取るx軸方向の半径を設定する属性です。ピクセル単位で記述します。0以上、長方形の幅の1/2以下の値を設定できます。0未満の値が設定された場合は、0に補正されます。また、長方形の幅の1/2を超える値が設定された場合は、長方形の幅の1/2に補正されます。

省略された場合、0と見なされます。

ry

4つの隅を切り取るy軸方向の半径を設定する属性です。ピクセル単位で記述します。0以上、長方形の高さの1/2以下の値を設定できます。0未満の値が設定された場合は、0に補正されます。また、長方形の高さの1/2を超える値が設定された場合は、長方形の高さの1/2に補正されます。

省略された場合、0と見なされます。

topleft-rx

左上隅を切り取るx軸方向の半径を設定する属性です。ピクセル単位で記述します。0以上、長方形の幅の1/2以下の値を設定できます。0未満の値が設定された場合は、0に補正されます。また、長方形の幅の1/2を超える値が設定された場合は、長方形の幅の1/2に補正されます。この属性の値は、rx属性の値より優先されます。

省略された場合、rx属性の設定に従います。

topleft-ry

左上隅を切り取るy軸方向の半径を設定する属性です。ピクセル単位で記述します。0以上、長方形の高さの1/2以下の値を設定できます。0未満の値が設定された場合は、0に補正されます。また、長方形の高さの1/2を超える値が設定された場合は、長方形の高さの1/2に補正されます。この属性の値は、ry属性の値より優先されます。

省略された場合、ry属性の設定に従います。

bottomleft-rx

左下隅を切り取るx軸方向の半径を設定する属性です。ピクセル単位で記述します。0以上、長方形の幅の1/2以下の値を設定できます。0未満の値が設定された場合は、0に補正されます。また、長方形の幅の1/2を超える値が設定された場合は、長方形の幅の1/2に補正されます。この属性の値は、rx属性の値より優先されます。

省略された場合、rx属性の設定に従います。

bottomleft-ry

左下隅を切り取るy軸方向の半径を設定する属性です。ピクセル単位で記述します。0以上、長方形の高さの1/2以下の値を設定できます。0未満の値が設定された場合は、0に補正されます。また、長方形の高さの1/2を超える値が設定された場合は、長方形の高さの1/2に補正されます。この属性の値は、ry属性の値より優先されます。

省略された場合、ry属性の設定に従います。

topright-rx

右上隅を切り取るx軸方向の半径を設定する属性です。ピクセル単位で記述します。0以上、長方形の幅の1/2以下の値を設定できます。0未満の値が設定された場合は、0に補正されます。また、長方形の幅の1/2を超える値が設定された場合は、長方形の幅の1/2に補正されます。この属性の値は、rx属性の値より優先されます。

省略された場合、rx属性の設定に従います。

topright-ry

右上隅を切り取るy軸方向の半径を設定する属性です。ピクセル単位で記述します。0以上、長方形の高さの1/2以下の値を設定できます。0未満の値が設定された場合は、0に補正されます。また、長方形の高さの1/2を超える値が設定された場合は、長方形の高さの1/2に補正されます。この属性の値は、ry属性の値より優先されます。

省略された場合、ry属性の設定に従います。

bottomright-rx

右下隅を切り取るx軸方向の半径を設定する属性です。ピクセル単位で記述します。0以上、長方形の幅の1/2以下の値を設定できます。0未満の値が設定された場合は、0に補正されます。また、長方形の幅の1/2を超える値が設定された場合は、長方形の幅の1/2に補正されます。この属性の値は、rx属性の値より優先されます。

省略された場合、rx属性の設定に従います。

bottomright-ry

右下隅を切り取るy軸方向の半径を設定する属性です。ピクセル単位で記述します。0以上、長方形の高さの1/2以下の値を設定できます。0未満の値が設定された場合は、0に補正されます。また、長方形の高さの1/2を超える値が設定された場合は、長方形の高さの1/2に補正されます。この属性の値は、ry属性の値より優先されます。

省略された場合、ry属性の設定に従います。

内容:

dg:corner要素は空要素です。

dg:label 要素

ノードの外側に配置するラベルを記述する要素です。

属性:
position

ラベルの配置位置を設定する属性です。次の文字列で記述します。

top
ラベルをノードの上に配置します。
bottom
ラベルをノードの下に配置します。
left
ラベルをノードの左に配置します。
right
ラベルをノードの右に配置します。

省略された場合、topが設定されたと見なされます。

multiline

テキストを複数行で表示するかしないか設定する属性です。真偽値で記述します。trueを指定すると、テキストを複数行で表示します。falseを指定すると、テキストを1行で表示します。

省略された場合、falseが設定されたと見なされます。

font-color

ラベルの色を設定する属性です。CSSと同じ指定方法で色を記述します。

省略された場合、 dg:directedgraph要素font-color属性の設定に従います。

font-color-opacity

ラベルの色の透明度を設定する属性です。0.0以上、1.0以下の数値で記述します。数値が小さくなるほど透明度が高くなります。1.0にすると、透明度は0となります。

省略された場合、dg:directedgraph要素のfont-color-opacity属性の設定に従います。

font-family

ラベルに使用するフォント名を設定する属性です。具体的なフォント名で記述します。

省略された場合、dg:directedgraph要素のfont-family属性の設定に従います。

sub-font-family

ラベルに使用するフォントの種類を設定する属性です。次のフォントの種類を指定できます。

  • sans-serif
  • serif
  • monospace

font-family属性で設定されたフォントが環境にないときに、このフォントが使用されます。

省略された場合、dg:directedgraph要素のsub-font-family属性の設定に従います。

font-size

ラベルに使用する文字の大きさを設定する属性です。ポイント単位で記述します。1.0以上の値が有効となります。1.0より小さい値が設定された場合は、1.0に補正されます。

省略された場合、dg:directedgraph要素のfont-size属性の設定に従います。

font-bold

ラベルを太字で表示するかしないかを設定する属性です。真偽値で記述します。trueを指定すると、太字で表示されます。falseを指定すると、標準の太さで表示されます。

省略された場合、dg:directedgraph要素のfont-bold属性の設定に従います。

font-italic

ラベルを斜体で表示するかしないかを設定する属性です。真偽値で記述します。trueを指定すると、斜体で表示されます。falseを指定すると、標準の書体で表示されます。

省略された場合、dg:directedgraph要素のfont-italic属性の設定に従います。

font-underline

ラベルに下線を表示するかしないか設定する属性です。真偽値で記述します。trueを指定すると、下線が表示されます。falseを指定すると、下線は表示されません。

省略された場合、dg:directedgraph要素のfont-underline属性の設定に従います。

内容:

dg:label要素内には、次の内容を記述できます。

  • 任意の文字列
  • dg:br要素
    必要に応じて、任意の数だけ記述できます。省略可能です。

dg:text 要素

有向グラフコンポーネントが管理するテキストを記述する要素です。有向グラフコンポーネントが管理するテキストは、有向グラフコンポーネントで編集できます。

属性:
multiline

テキストを複数行で表示するかしないか設定する属性です。真偽値で記述します。trueを指定すると、テキストを複数行で表示します。falseを指定すると、テキストを1行で表示します。

省略された場合、falseが設定されたと見なされます。

v-align

テキストの縦方向の表示位置を設定する属性です。次の文字列で記述します。

top
テキストの上端を表示領域の上端に合わせて表示します。
bottom
テキストの下端を表示領域の下端に合わせて表示します。
center
テキストの中央を表示領域の中央に合わせて表示します。

省略された場合、centerが設定されたと見なされます。

h-align

テキストの横方向の表示位置を設定する属性です。次の文字列で記述します。

left
テキストを表示領域の左端に合わせて表示します。
right
テキストを表示領域の右端に合わせて表示します。
center
テキストの中央を表示領域の中央に合わせて表示します。

省略された場合、centerが設定されたと見なされます。

font-color

テキストの色を設定する属性です。CSSと同じ指定方法で色を記述します。

省略された場合、 dg:directedgraph要素font-color属性に従います。

font-color-opacity

テキストの色の透明度を設定する属性です。0.0以上、1.0以下の数値で記述します。数値が小さくなるほど透明度が高くなります。1.0にすると、透明度は0となります。

省略された場合、dg:directedgraph要素のfont-color-opacity属性に従います。

font-family

テキストに使用するフォント名を設定する属性です。具体的なフォント名で記述します。

省略された場合、dg:directedgraph要素のfont-family属性に従います。

sub-font-family

テキストに使用するフォントの種類を設定する属性です。次のフォントの種類を指定できます。

  • sans-serif
  • serif
  • monospace

font-family属性で設定されたフォントが環境にないときに、このフォントが使用されます。

省略された場合、dg:directedgraph要素のsub-font-family属性に従います。

font-size

テキストに使用する文字の大きさを設定する属性です。ポイント単位で記述します。1.0以上の値が有効となります。1.0より小さい値が設定された場合は、1.0に補正されます。

省略された場合、dg:directedgraph要素のfont-size属性に従います。

font-bold

テキストを太字で表示するかしないかを設定する属性です。真偽値で記述します。trueを指定すると、太字で表示されます。falseを指定すると、標準の太さで表示されます。

省略された場合、dg:directedgraph要素のfont-bold属性に従います。

font-italic

テキストを斜体で表示するかしないかを設定する属性です。真偽値で記述します。trueを指定すると、斜体で表示されます。falseを指定すると、標準の書体で表示されます。

省略された場合、dg:directedgraph要素のfont-italic属性に従います。

font-underline

テキストに下線を表示するかしないか設定する属性です。真偽値で記述します。trueを指定すると、下線が表示されます。falseを指定すると、下線は表示されません。

省略された場合、dg:directedgraph要素のfont-underline属性に従います。

内容:

dg:text要素内には、次の内容を記述できます。

  • 任意の文字列
  • dg:br要素
    必要に応じて、任意の数だけ記述できます。省略可能です。

dg:br 要素

有向グラフコンポーネントが管理するテキスト内で、改行を記述する要素です。

テキストを複数行で表示するときは、dg:br要素の位置で改行します。1行で表示するときは、dg:br要素は無視されます。

属性:

属性はありません。

内容:

dg:br要素は空要素です。

dg:image 要素

有向グラフコンポーネントが管理するイメージを記述する要素です。 dg:text要素が兄弟要素として記述されているときは、イメージの上に重ねてテキストが表示されます。

イメージデータは表示するだけで、編集はできません。

属性:
src (必須)

表示するイメージデータが存在する場所を指定する属性です。URL文字列で記述します。指定されたURLからイメージデータを取得できないときは、何も表示されません。

width

表示するイメージデータの幅を設定する属性です。ピクセル単位で記述します。次のキーワードで指定することもできます。

fit
イメージデータの幅をノード枠の幅に合わせて表示します。
original
実際のイメージデータの幅を取得して、表示する幅とします。

省略された場合、originalが設定されたと見なされます。

height

表示するイメージデータの高さを設定する属性です。ピクセル単位で記述します。次のキーワードで指定することもできます。

fit
イメージデータの高さをノード枠の高さに合わせて表示します。
original
実際のイメージデータの高さを取得して、表示する高さとします。

省略された場合、originalが設定されたと見なされます。

v-align

イメージデータの縦方向の表示位置を設定する属性です。次の文字列で記述します。

top
イメージデータの上端をノード枠の上端に合わせて表示します。
bottom
イメージデータの下端をノード枠の下端に合わせて表示します。
center
イメージデータの中央をノード枠の中央に合わせて表示します。

省略された場合、centerが設定されたと見なされます。

h-align

イメージデータの横方向の表示位置を設定する属性です。次の文字列で記述します。

left
イメージデータをノード枠の左端に合わせて表示します。
right
イメージデータをノード枠の右端に合わせて表示します。
center
イメージデータの中央をノード枠の中央に合わせて表示します。

省略された場合、centerが設定されたと見なされます。

内容:

dg:image要素は空要素です。

dg:foreign-object 要素

外部のXMLボキャブラリを使用したXML文書フラグメントを記述する要素です。 dg:text要素 dg:image要素が兄弟要素として記述されているときは、この要素は無視されます。

外部のXMLボキャブラリは1つだけ記述できます。記述されたXMLボキャブラリには、xfyユーザーエージェントによって対応するボキャブラリコンポーネントが自動的に適用されます。編集操作は、そのボキャブラリコンポーネントに依存します。

属性:

属性はありません。

内容:

dg:foreign-object要素内には、外部のXMLボキャブラリを使用したXML文書フラグメントを1つだけ記述できます。

dg:connector 要素

2つのノードを結ぶコネクタの内容を記述する要素です。コネクタには、次の種類があります。

  • 直線コネクタ
  • カギ線コネクタ

コネクタは2つのノードのIDを手がかりに、ノードとノードを線で結びます。指定されたIDのノードが存在しないときは、コネクタは表示されません。 指定された2つのIDが組み合わせが同じコネクタがあるときは、最初のコネクタだけが表示されます。

dg:connectors要素connected-type属性の値にspecifyを指定したときは、コネクタの連結先を個別に設定することができます。連結先はfrom-position属性とto-postion属性で指定します。connected-type属性の値にautoを指定したときは、コネクタの連結先は自動で設定されます。そのため、from-position属性とto-position属性を設定しても、無効となります。

属性:
from (必須)

コネクタの開始ノードのIDを設定する属性です。指定されたIDのノードが存在しないときは、コネクタは表示されません。

to (必須)

コネクタの終了ノードのIDを設定する属性です。指定されたIDのノードが存在しないときは、コネクタは表示されません。

from-position

開始ノード側の連結先を個別に設定する属性です。次の文字列で記述します。

auto
自動
topleft
左上
コネクタの種類がカギ線コネクタのときは、この値を設定しても無効となります。
top
topright
右上
コネクタの種類がカギ線コネクタのときは、この値を設定しても無効となります。
right
bottomright
右下
コネクタの種類がカギ線コネクタのときは、この値を設定しても無効となります。
bottom
bottomleft
左下
コネクタの種類がカギ線コネクタのときは、この値を設定しても無効となります。
left

省略された場合、autoが設定されたと見なされます。

to-position

終了ノード側の連結先を個別に設定する属性です。次の文字列で記述します。

auto
自動
topleft
左上
コネクタの種類がカギ線コネクタのときは、この値を設定しても無効となります。
top
topright
右上
コネクタの種類がカギ線コネクタのときは、この値を設定しても無効となります。
right
bottomright
右下
コネクタの種類がカギ線コネクタのときは、この値を設定しても無効となります。
bottom
bottomleft
左下
コネクタの種類がカギ線コネクタのときは、この値を設定しても無効となります。
left

省略された場合、autoが設定されたと見なされます。

type

コネクタの種類を設定する属性です。次の文字列で記述します。

straight
直線コネクタ
elbow
カギ線コネクタ

省略された場合、straightが設定されたと見なされます。

readonly

コネクタの選択や連結先の変更を実行できるかできないか設定する属性です。真偽値で記述します。trueを指定すると、コネクタの選択や連結先の変更は実行できなくなります。falseを指定すると、コネクタの選択や連結先の変更を実行できるようになります。

省略された場合、falseが設定されたと見なされます。

forbid-change-connection

コネクタの連結先を変更できるかできないかを設定する属性です。真偽値で記述します。trueを指定すると、コネクタの連結先を変更できなくなります。falseを指定すると、コネクタの連結先を変更できるようになります。

省略された場合、falseが設定されたと見なされます。

connected-part

コネクタの連結部分を設定する属性です。次の文字列で記述します。

vertical
ノードの上下部分にコネクタが連結します。
horizontal
ノードの左右部分にコネクタが連結します。

ただし、ノードの位置関係によっては連結部分が設定と異なる場合があります。

この属性はコネクタの種類がカギ線コネクタのときに有効です。直線コネクタの場合は、この属性は無視されます。

省略された場合、verticalが設定されたと見なされます。

arrow-direction

コネクタに付ける矢印の方向を設定する属性です。次の文字列で記述します。

from
開始ノード側に矢印を付けます。
to
終了ノード側に矢印を付けます。
both
両端に矢印を付けます。
none
どちらにも矢印を付けません。

省略された場合、toが設定されたと見なされます。

arrow-style

コネクタに付ける矢印の形状を設定する属性です。次の文字列で記述します。

normal
通常の矢印
triangle
三角形
diamond
ひし形
circle

省略された場合、normalが設定されたと見なされます。

arrow-size

コネクタに付ける矢印の大きさを設定する属性です。標準の大きさはコネクタの線幅に基づいて決定されます。属性の値には、標準の大きさ基準にした相対的な大きさを、次の文字列で記述します。

x-small
最小
small
medium
標準
large
x-large
最大

省略された場合、mediumが設定されたと見なされます。

line-style

コネクタの線の種類を設定する属性です。次の文字列で記述します。

solid
実線
dotted
点線
dashed
破線

省略された場合、solidが設定されたと見なされます。

line-color

コネクタの線色を設定する属性です。CSSと同じ指定方法で色を記述します。

省略された場合、 dg:directedgraph要素line-color属性に従います。

line-color-opacity

コネクタの線色の透明度を設定する属性です。0.0以上、1.0以下の数値で記述します。数値が小さくなるほど透明度が高くなります。1.0にすると、透明度は0となります。

省略された場合、dg:directedgraph要素のline-color-opacity属性に従います。

line-width

コネクタの線幅を設定する属性です。ピクセル単位で記述します。コネクタの線幅は、0以上の値が有効となります。負の値が設定された場合は、0に補正されます。

省略された場合、dg:directedgraph要素のline-width属性に従います。

内容:

dg:connector要素は空要素です。

2.2. イベント要素

有向グラフ記述ボキャブラリで定義されているイベント要素は、以下のとおりです。 なお、XVCDを記述するときに、イベント要素を使用することはありません。イベント要素はプラットフォームによって記述されます。

dg:node-moved イベント

ノードが移動されたときに発行されるイベントです。次の要素で発行されます。

属性:
id (必須)

ノードに設定されているIDが設定される属性です。

x (必須)

移動後のノードの中心のx座標が設定される属性です。ピクセル単位で設定されます。

y (必須)

移動後のノードの中心のy座標が設定される属性です。ピクセル単位で設定されます。

内容:

dg:node-moved要素は空要素です。

dg:group-moved イベント

グループが移動されたときに発行されるイベントです。次の要素で発行します。

属性:
offset-x (必須)

ノードの中心のx軸方向の移動量が設定される属性です。ピクセル単位で設定されます。

offset-y (必須)

ノードの中心のy軸方向の移動量が設定される属性です。ピクセル単位で設定されます。

内容:

dg:group-moved要素は空要素です。

dg:nodes-moved イベント

ノードが移動されたときに、 dg:node-movedイベントのあとに発行されるイベントです。次の要素で発行されます。

複数のノードが移動されたときは、dg:nodes-movedイベントはすべてのdg:node-movedイベントが発行されたあとに発行されます。

属性:
offset-x (必須)

ノードの中心のx軸方向の移動量が設定される属性です。ピクセル単位で設定されます。

offset-y (必須)

ノードの中心のy軸方向の移動量が設定される属性です。ピクセル単位で設定されます。

内容:

dg:nodes-moved要素は空要素です。

dg:node-resized イベント

ノードの大きさが変更された場合に発行されるイベントです。次の要素で発行されます。

属性:
id (必須)

ノードに設定されているIDが設定される属性です。

width

サイズ変更後のノードの幅が設定される属性です。ピクセル単位で設定されます。長方形ノード/面取長方形ノード/丸め長方形ノードでは、ノードの幅が設定されます。自由線ノードでは、ノード全体の幅が設定されます。楕円ノードでは、この属性は使用されません。

楕円ノードの場合は省略されます。

height

サイズ変更後のノードの高さが設定される属性です。ピクセル単位で設定されます。長方形ノード/面取長方形ノード/丸め長方形ノードでは、ノードの高さが設定されます。自由線ノードでは、ノード全体の高さが設定されます。楕円ノードでは、この属性は使用されません。

楕円ノードの場合は省略されます。

rx

サイズ変更後の楕円のx軸方向の半径が設定される属性です。ピクセル単位で設定されます。長方形ノード/面取長方形ノード/丸め長方形ノード/自由線ノードでは、この属性は使用されません。

長方形ノード/面取長方形ノード/丸め長方形ノード/自由線ノードの場合は省略されます。

ry

サイズ変更後の楕円のy軸方向の半径が設定される属性です。ピクセル単位で設定されます。長方形ノード/面取長方形ノード/丸め長方形ノード/自由線ノードでは、この属性は使用されません。

長方形ノード/面取長方形ノード/丸め長方形ノード/自由線ノードの場合は省略されます。

内容:

dg:node-resized要素内には以下の要素が設定されます。

  • dg:corner要素
    面取長方形ノードと丸め長方形ノードのときに設定されます。

dg:selected イベント

ノードまたはコネクタが選択されたときに発行されるイベントです。次の要素で発行されます。

属性:
kind (必須)

選択された対象の種類が設定される属性です。次の文字列で設定されます。

node
ノードが選択されたときに設定されます。
connector
コネクタが選択されたときに設定されます。
group
グループが選択されたときに設定されます。
id

ノードが選択されたときに、ノードに設定されているIDが設定される属性です。

コネクタが選択された場合は省略されます。

from

コネクタが選択されたときに、コネクタに設定されている開始ノードのIDが設定される属性です。

ノードが選択された場合は省略されます。

to

コネクタが選択されたときに、コネクタに設定されている終了ノードのIDが設定される属性です。

ノードが選択された場合は省略されます。

内容:

dg:selected要素は空要素です。

dg:unselected イベント

ノードまたはコネクタの選択が解除されたときに発行されるイベントです。次の要素で発行されます。

属性:
kind (必須)

選択が解除された対象の種類が設定される属性です。次の文字列で設定されます。

node
ノードの選択が解除されたときに設定されます。
connector
コネクタの選択が解除されたときに設定されます。
group
グループの選択が解除されたときに設定されます。
id

ノードの選択が解除されたときに、ノードに設定されているIDが設定される属性です。

コネクタの選択が解除された場合は省略されます。

from

コネクタの選択が解除されたときに、コネクタに設定されている開始ノードのIDが設定される属性です。

ノードの選択が解除された場合は省略されます。

to

コネクタの選択が解除されたときに、コネクタに設定されている終了ノードのIDが設定される属性です。

ノードの選択が解除された場合は省略されます。

内容:

dg:unselected要素は空要素です。

dg:select-changed イベント

ノードまたはコネクタの選択状態が変更されたときに、 dg:selectedイベント dg:unselectedイベントのあとに発行されるイベントです。次の要素で発行されます。

複数のノードやコネクタが選択されたときは、dg:select-changedイベントはすべてのdg:selectedイベントが発行されたあとに発行されます。同様に、複数のノードやコネクタの選択が解除されたときは、dg:select-changedイベントはすべてのdg:unselectedイベントが発行されたあとに発行されます。

属性:

属性はありません。

内容:

dg:select-changed要素は空要素です。

dg:connector-changed イベント

コネクタの連結先ノードが変更されたときに発行されるイベントです。次の要素で発行されます。

属性:
from (必須)

変更後のコネクタの開始ノードのIDが設定される属性です。

to (必須)

変更後のコネクタの終了ノードのIDが設定される属性です。

from-position

開始ノード側の連結先が設定される属性です。次の文字列で設定されます。

auto
自動
topleft
左上
top
topright
右上
right
bottomright
右下
bottom
bottomleft
左下
left

コネクタの連結先が自動の場合は省略されます。

to-position

終了ノード側の連結先が設定される属性です。次の文字列で設定されます。

auto
自動
topleft
左上
top
topright
右上
right
bottomright
右下
bottom
bottomleft
左下
left

コネクタの連結先が自動の場合は省略されます。

内容:

dg:connector-changed要素は空要素です。

dg:entering-node イベント

入力フォーカスがユーザーの操作でノードに移動する前に発行されるイベントです。次の要素で発行されます。

dg:node要素の内容がイメージデータだけのときや何も設定されていないときは、入力フォーカスが移動できないため、dg:entering-nodeイベントは発行されません。

このイベントが処理されると、有向グラフコンポーネントはデフォルトの動作は実行されません。

属性:
id (必須)

ノードに設定されたIDが設定される属性です。

trigger (必須)

入力フォーカスが移動するきっかけとなったユーザー操作が設定される属性です。次の文字列で設定されます。

F2
F2キーが押されて入力フォーカスが移動するときに設定されます。
ENTER
Enterキーが押されて入力フォーカスが移動するときに設定されます。
clicked
ノードがダブルクリックされて入力フォーカスが移動するときに設定されます。
object (必須)

入力フォーカスの移動先のオブジェクトが設定される属性です。次の文字列で設定されます。

text
有向グラフコンポーネントが管理するテキストデータ( dg:text要素)に入力フォーカスが移動するときに設定されます。
label
ラベル( dg:label要素)に入力フォーカスが移動するときに設定されます。
foreign-object
外部のXMLボキャブラリを使用したXML文書フラグメント( dg:foreign-object要素)に入力フォーカスが移動するときに設定されます。
内容:

dg:entering-node要素は空要素です。

dg:exited-node イベント

ユーザーの操作で、ノードから入力フォーカスが移動したあとに発行されるイベントです。 dg:entering-nodeイベントが発行されたノードに発行されます。次の要素で発行されます。

属性:
id (必須)

ノードに設定されたIDが設定される属性です。

trigger (必須)

入力フォーカスが移動したきっかけとなったユーザー操作が設定される属性です。次の文字列で設定されます。

ENTER
Enterキーが押されて入力フォーカスが移動したときに設定されます。外部のXMLボキャブラリを使用したXML文書フラグメント( dg:foreign-object要素)に入力フォーカスがあったときには、設定されません。
ESCAPE
Escキーが押されて入力フォーカスが移動したときに設定されます。
focus-lost
メインメニューの選択やダイアログボックスの表示など、有向グラフコンポーネントから入力フォーカスが移動する操作をしたときに設定されます。
object (必須)

入力フォーカスが移動したオブジェクトが設定される属性です。次の文字列で設定されます。

text
有向グラフコンポーネントが管理するテキストデータ( dg:text要素)から入力フォーカスが移動したときに設定されます。dg:exited-node要素の内容には、終了したときのテキストがテキストノードとして設定されます。
label
ラベル( dg:label要素)から入力フォーカスが移動したときに設定されます。dg:exited-node要素の内容には、終了したときのテキストがテキストノードとして設定されます。
foreign-object
外部のXMLボキャブラリを使用したXML文書フラグメント(dg:foreign-object要素)から入力フォーカスが移動したときに設定されます。
内容:

有向グラフコンポーネントが管理するテキストデータや、ラベルに入力フォーカスがあったときは、dg:exited-node要素内には終了したときのテキストが設定されます。
複数行で表示されていたときは、改行の位置には dg:br要素が設定されます。

2.3. コマンド

有向グラフ記述ボキャブラリで定義されているコマンドは、以下のとおりです。

dg:enter-node コマンド

ノードに入力フォーカスを移動するコマンドです。

パラメータ:
string id

入力フォーカスの移動先のノードのIDを指定します。指定されたIDのノードが存在しないときは、コマンドは処理されません。

string object

入力フォーカスを移動する対象のオブジェクトを指定します。次の文字列で記述します。

text
有向グラフコンポーネントが管理するテキストデータ( dg:text要素)へ入力フォーカスを移動します。
label
ラベル( dg:label要素)へ入力フォーカスを移動します。
foreign-object
外部のXMLボキャブラリを使用したXML文書フラグメント( dg:foreign-object要素)へ入力フォーカスを移動します。

指定されたオブジェクトが存在しないときは、コマンドは処理されません。

2.4. 拡張関数

有向グラフ記述ボキャブラリで定義されている拡張関数は、以下のとおりです。

dg:selected-nodes 関数

選択されているノードのソースノードをノードセットで返す関数です。

構文:
node-set dg:selected-nodes( )
引数:

引数をとりません。

返値:
node-set

選択されているノードのソースノードを、ノードセットで返します。

dg:selected-connectors 関数

選択されているコネクタのソースノードをノードセットで返す関数です。

構文:
node-set dg:selected-connectors( )
引数:

引数をとりません。

返値:
node-set

選択されているコネクタのソースノードを、ノードセットで返します。

dg:selected-nodes-count 関数

選択されているノードの数を返す関数です。

構文:
number dg:selected-nodes-count( )
引数:

引数をとりません。

返値:
number

選択されているノードの数を返します。

dg:selected-connectors-count 関数

選択されているコネクタの数を返す関数です。

構文:
number dg:selected-connectors-count( )
引数:

引数をとりません。

返値:
number

選択されているコネクタの数を返します。

dg:is-selected 関数

引数で指定されたノードセットが選択されているかいないかを返す関数です。

構文:
boolean dg:is-selected( node-set )
引数:
node-set node-set

選択状態を調べるノードセットを指定します。

返値:
boolean

引数で指定されたノードセットが選択されているかいないかを真偽値で返します。1つでも選択されているときは、trueが返されます。すべて選択されていないときは、falseが返されます。

3. プラットフォームイベントへの対応

有向グラフコンポーネントは、プラットフォームイベントのキーイベントとマウスイベントに対応しています。それぞれのイベントについて、詳しくは「プラットフォームイベントリファレンス」をご覧ください。

3.1. キーイベント

キーイベントは、 dg:directedgraph要素に発行されます。ノードに入力フォーカスがあるときは、キーイベントは発行されません。

有向グラフコンポーネントでは、次のキーイベントに対応しています。

イベント イベントが処理されたときの有向グラフの動作
event:key-pressedイベント キーに割り付けられた操作があるときは、その操作が行われません。
event:key-releasedイベント 動作に影響はありません。

3.2. マウスイベント

マウスイベントは次の要素で発行されます。

  • dg:node要素
    選択・編集できるノードの上で発生したマウスイベントが発行されます。
  • dg:connector要素
    選択・編集できるコネクタの上で発生したマウスイベントが発行されます。
  • dg:directedgraph要素
    選択できないノードやコネクタの上で発生したマウスイベントが発行されます。また、dg:node要素やdg:connector要素に発行されたマウスイベントが処理されなかったときに、そのイベントが発行されます。

ノードに入力フォーカスがあるときは、マウスイベントは発行されません。

有向グラフコンポーネントでは、次のマウスイベントに対応しています。

イベント イベントが処理されたときの有向グラフの動作
event:mouse-enteredイベント 動作に影響はありません。
event:mouse-exitedイベント 動作に影響はありません。
event:mouse-pressedイベント クリックが処理された場合は、選択や移動は行われません。
そのほかの場合は、動作に影響はありません。
event:mouse-releasedイベント 動作に影響はありません。
event:mouse-clickedイベント ノード上でのダブルクリックが処理された場合は、ノードに入力フォーカスは移動しません。
そのほかの場合は、動作に影響はありません。

4. VC中核関数への対応

有向グラフコンポーネントは、次のVC中核関数に対応しています。VC中核関数について、詳しくは「VC中核リファレンス:コマンドインストラクション・関数編」をご覧ください。

コマンド 動作
xvcd:caret-node()関数 最後に選択されたノードやコネクタを、ノードセットとして返します。
選択されているノードまたはコネクタがないときは、ルートノードをノードセットとして返します。