预订演示
前页 后页

转换名称

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

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

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

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

支持的格式有:

  • Camel Case:第一个单词以小写字母开头,后续单词以大写字母开头;例如,我的变量表
  • Pascal Case:每个单词的首字母大写;例如,MyVariableTable
  • Spaced:单词之间用空格隔开;字母的大小写被忽略
  • 下划线:单词之间用下划线分隔;字母的大小写被忽略
原始格式还可能指定要使用的分隔符列表。例如,只要找到空格或下划线,'_' 的值就会中断单词。目标格式也可以使用一个格式string来指定每个单词的大小写和它们之间的分隔符。它采用这种形式:

<firstWord> (<delimiter>) <otherWords>

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

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

"Ht()Ht" 输出"我的变量库表"

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

“HT()hT”输出“我的变量表”

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

此宏从 <originalName> 中删除在 <prefixes> 中找到的任何前缀。前缀在分号分隔的列表中指定。

该宏通常与 CONVERT_NAME 宏结合使用。例如,此代码根据Java的选项创建一个获取属性名称:

$propertyName=%REMOVE_PREFIX(attName,genOptPropertyPrefix)%

%if genOptGenCapitalisedProperties==" T "%

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

%万一%

注记

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