名前の変換

<< 目次を表示 >>

ページ位置:  Enterprise Architectの操作 > 要素 > MDAスタイルの変換 > モデル変換テンプレートの記述 >

名前の変換

変換先の対象のプラットフォームによって、名前のルールが異なる場合もあります。つまり、要素の名前を単にコピーするだけでなく、編集する必要があるかもしれません。この変換を実行するときに役立つのが、CONVERT_NAMEマクロです。

 

名前を変換しなければならない別の例として、元の名前からプレフィックスを削除するような使い方もあります。この場合、REMOVE_PREFIXマクロを利用します。

 

 

CONVERT_NAME (<originalName>, <originalFormat>, <targetFormat>)

このマクロは、<originalName>を、<orginalFormat>から<targetFormat>へのルールで変換します。

 

利用可能なフォーマットは次の通りです。

 

original formatにはデリミタ(区切り文字)が利用される場合もあります。例えば、' _'を指定すると、スペースか下線があれば文字を区切ります。

 

target formatにもデリミタが使用されることがあります。その場合には次のような形式になります。:

<firstWord>(<delimiter>)<otherWords>

 

 

例 1: 最初の文字を大文字にし、それぞれの単語間をスペースで区切る場合の指定(HとTのそれぞれの文字には意味がありません。大文字か小文字か、が重要です):

"Ht( )Ht" 出力結果→ "My Variable Table"

 

例 2: 最初の単語はすべて大文字で、2番目以降は最初の文字だけ小文字で後は大文字で出力する場合の指定:

"HT( )hT" 出力結果→ "MY vARIABLE tABLE"

 

元の名前から接頭辞を削除したい場合、次のような方法もあります。

 

 

REMOVE_PREFIX(<originalName>, <prefixes>)

<prefixes>にある文字列を、<originalName>から削除します。接頭辞はセミコロンで区切って複数指定できます。

 

このマクロは、CONVERT_NAME マクロと合わせて利用されることが多くあります。例えば、以下の例はJava言語のプロパティ名の取得例です。

 

$propertyName=%REMOVE_PREFIX(attName,genOptPropertyPrefix)%

%if genOptGenCapitalisedProperties=="T"%

$propertyName=%CONVERT_NAME($propertyName, "camel case","pascal case")%

%endIf%

 

 

注意:

すべて大文字の単語の省略形(UMLやOMGなど)には対応していません。