声明
以下语句是在分析SPL模板文件时计算的。它们不会受到流程控制语句(例如条件、循环或子程序)的影响,并总是只计算一次。
这些关键词与SPL中的所有关键词一样,是不区分大小写的。
请记住,所有这些声明都必须在用方括号分隔的块中。
map ... to ...
map mapname key to value [, key to value ]... |
该语句向映射添加信息。参见以下示例。
map schemanativetype schematype to typespec |
指定的内置XML Schema类型将使用指定的格式化程序映射到指定的本机类型或类。此设置仅适用于2007r3及更高版本的代码生成。Typespec是一个本机类型或类名称,后跟一个逗号,然后跟格式化程序类实例。
示例:
map schemanativetype "double" to "double,Altova::DoubleFormatter" |
map type ... to ...
map type schematype to classname |
指定的内置XML Schema类型将被映射到指定的类。此设置仅适用于2007版或更低版本的代码生成。
示例:
map type "float" to "CSchemaFloat" |
default ... is ...
default setting is value |
该语句允许您指定如何从XML Schema派生类和成员名称。请注意,设置名称是区分大小写的。
示例:
default "InvalidCharReplacement" is "_" |
设置名称 | 含义 |
---|---|
ValidFirstCharSet | 允许用于开始标识符的字符 |
ValidCharSet | 标识符中其他字符允许使用的字符 |
InvalidCharReplacement | 名称中不在ValidCharSet中的所有字符将被替换的字符 |
AnonTypePrefix | 匿名类型名称的前缀* |
AnonTypeSuffix | 匿名类型名称的后缀* |
ClassNamePrefix | 生成的类名称的前缀 |
ClassNameSuffix | 生成的类名称的后缀 |
EnumerationPrefix | 为枚举值声明的符号常量的前缀 |
EnumerationUpperCase | “on”用于将枚举常量名称转换为大写字母 |
FallbackName | 如果名称仅包含不在ValidCharSet中的字符,则使用此名称 |
*匿名类型的名称由AnonTypePrefix +元素名称+ AnonTypeSuffix生成。
reserve
reserve word |
将指定的单词添加到保留词列表中。这将确保它永不会生成为类或成员名称。
示例:
reserve "while" |
include
包括指定的文件作为SPL源。这允许您将模板拆分为多个文件,以便编辑和处理。
include filename |
示例:
include "Module.cpp" |