前页 | 后页 |
转换名称
不同的目标平台使用不同的命名约定,因此您可能不想将元素的名称直接复制到转换后的模型中。为了满足这一要求,转换模板提供了一个 CONVERT_NAME函数宏。
转换名称的另一种方法是使用 REMOVE_PREFIX 宏从原始名称中删除前缀。
CONVERT_NAME (<originalName>, <originalFormat>, <targetFormat>)
此宏将假定在 <originalFormat> 中的 <originalName> 转换为 <targetFormat>。
支持的格式有:
- Camel Case:第一个单词以小写字母开头,后续单词以大写字母开头;例如,我的变量表
- Pascal Case:每个单词的首字母大写;例如,MyVariableTable
- Spaced:单词之间用空格隔开;字母的大小写被忽略
- 下划线:单词之间用下划线分隔;字母的大小写被忽略
<firstWord> (<delimiter>) <otherWords>
- <firstWord> 控制第一个单词的大小写
- <delimiter> 是单词之间生成的string
- <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 转换时不支持首字母缩略词