Declaraciones
Estas instrucciones se evalúan mientras se analiza el archivo de plantilla SPL. A estas instrucciones no les afectan las instrucciones de control de flujo como condiciones, bucles o subrutinas y siempre se evalúan exactamente una vez.
Estas palabras clave, como todas las palabras clave de SPL, no distinguen entre mayúsculas y minúsculas.
Recuerde que todas estas declaraciones deben estar dentro de un bloque delimitado por corchetes.
map ... to ...
map clave nombreasignación to valor [, clave to valor ]... |
Esta instrucción añade información a una asignación. Consulte el resto del apartado para ver usos concretos de esta instrucción.
map schemanativetype tipoesquema to tipoindicado |
El tipo integrado de XML Schema indicado se asignará al tipo o clase nativos indicados, usando el formateador indicado. Esta configuración es propia de la versión 2007r3 o posterior. Tipoindicado es el nombre de un tipo o clase nativos, seguido de una coma y de la instancia de clase del formateador.
Ejemplo:
map schemanativetype "double" to "double,Altova::DoubleFormatter" |
map type ... to ...
map type tipoesquema to nombreclase |
El tipo integrado de XML Schema indicado se asignará a la clase indicada. Esta configuración es propia de la generación de código para la versión 2007 o anterior.
Ejemplo:
map type "float" to "CSchemaFloat" |
default ... is ...
default configuración is valor |
Esta instrucción permite determinar cómo se derivan los nombres de clase y miembro desde el esquema XML. Recuerde que los nombres de configuración sí distinguen entre mayúsculas y minúsculas.
Ejemplo:
default "InvalidCharReplacement" is "_" |
Nombre de configuración | Explicación |
---|---|
ValidFirstCharSet | Caracteres permitidos para iniciar un identificador |
ValidCharSet | Caracteres permitidos para otros caracteres en un identificador |
InvalidCharReplacement | El carácter que reemplazará todos los caracteres de los nombres que no están en la configuración ValidCharSet |
AnonTypePrefix | Prefijo para nombres de tipos anónimos* |
AnonTypeSuffix | Sufijo para nombres de tipos anónimos* |
ClassNamePrefix | Prefijo para los nombres de las clases generadas |
ClassNameSuffix | Sufijo para los nombres de las clases generadas |
EnumerationPrefix | Prefijo para constantes simbólicas declaradas para valores de enumeración |
EnumerationUpperCase | "on" para poner los nombres de constante de enumeración en mayúsculas |
FallbackName | Si un nombre tiene sólo caracteres que no están en ValidCharSet, use este |
* Los nombres de tipos anónimos se construyen con AnonTypePrefix + nombre de elemento + AnonTypeSuffix
reserve
reserve palabra |
Añade la palabra indicada a la lista de palabras reservadas. Esto garantiza que esa palabra se genere como nombre de clase o miembro.
Ejemplo:
reserve "while" |
include
incluye el archivo indicado como SPL de origen. Esto permite dividir su plantilla en varios archivos para editarlos y gestionarlos más fácilmente.
include nombrearchivo |
Ejemplo:
include "Module.cpp" |