预订演示
前页 后页

转换名称

不同的目标平台使用不同的命名约定,因此您可能不希望将元素的名称直接复制到转换后的模型中。为了满足此要求,转换模板提供了 CONVERT_NAME函数宏。

转换名称的另一种方法是使用 REMOVE_PREFIX 宏从原始名称中删除前缀。

CONVERT_NAME (<原始名称>, <原始格式>, <目标格式>)

此宏将假定为 <originalFormat> 的 <originalName> 转换为 <targetFormat>。

支持的格式有:

  • 驼峰式命名法:第一个单词以小写字母开头,但后续单词以大写字母开头;例如,myVariableTable
  • 帕斯卡大小写:每个单词的首字母大写;例如,MyVariableTable
  • 空格:单词之间用空格分隔;字母的大小写被忽略
  • 下划线:单词用下划线分隔;字母的大小写被忽略
原始格式可能还会指定要使用的分隔符列表。例如,当遇到空格或下划线时,值 '_' 会断开单词。目标格式也可能使用一个格式string ,该字符串指定每个单词的大小写以及它们之间的分隔符。其形式如下:

<第一个词> (<分隔符>) <其他词>

  • <firstWord> 控制第一个单词的大小写
  • <delimiter> 是单词之间生成的string
  • <otherWords> 适用于第一个单词之后的所有单词
<firstWord> 和 <otherWords> 都是由两个字符组成的序列。第一个字符代表该单词首字母的大小写,第二个字符代表所有后续字母的大小写。大写字母强制输出为大写,小写字母强制输出为小写,其他字符则保留原始大小写。

示例1 :将每个单词的首字母大写,并用空格分隔多个单词:

“Ht()Ht”输出“My Variable库表”

示例2:生成与 Camel Case 等效的格式,但颠倒大小写的角色;也就是说,除了第一个单词之后的每个单词的第一个字符外,所有字符都大写:

“HT()hT”输出“MY vARIABLE tTABLE”

REMOVE_PREFIX(<原始名称>,<prefixes> )

此宏会从 <originalName> 中删除 <prefixes> 中的所有前缀。前缀以分号分隔的列表形式指定。

该宏通常与 CONVERT_NAME 宏一起使用。例如,以下代码根据Java的选项创建 get属性名称:

$propertyName=%REMOVE_PREFIX(attName,genOptPropertyPrefix)%

%如果 genOptGenCapitalisedProperties==" T "%

$propertyName=%CONVERT_NAME($propertyName, “驼峰式命名法”, “帕斯卡式命名法”)%

%endIf%

注记

  • 从 Camel Case 或 Pascal Case 转换时不支持首字母缩略词