Deklarationen
Die folgenden Anweisungen werden beim Parsen der SPL-Vorlagendatei ausgewertet. Flusssteuerungsanweisungen wie z.B. Bedingungen, Schleifen oder Subroutinen haben keinen Einfluss darauf und werden immer nur einmal ausgewertet.
Die Groß- und Kleinschreibung spielt wie bei allen Schlüsselwörtern in SPL keine Rolle.
Alle diese Deklarationen müssen unbedingt innerhalb von eckigen Klammern stehen.
map ... to ...
map mapname key to value [, key to value ]... |
Diese Anweisung fügt Informationen zu einer Zuordnung hinzu. Beispiele für konkrete Anwendungen siehe unten.
map schemanativetype schematype to typespec |
Der angegebene built-in XML-Schematyp wird unter Verwendung der angegebenen Formatierung auf den angegebenen Native Type oder die Klasse gemappt. Diese Einstellung gilt nur für die Codegenerierung für Version 2007r3 und höher. Typespec ist ein Native Type oder ein Klassenname, gefolgt von einem Komma, gefolgt vom der Klasseninstanz des Formatters..
Beispiel:
map schemanativetype "double" to "double,Altova::DoubleFormatter" |
map type ... to ...
map type schematype to classname |
Der angegebene vordefinierte XML-Schematyp wird auf die angegebene Klasse gemappt. Diese Einstellung gilt nur für die Codegenerierung für Version 2007 oder niedriger.
Beispiel:
map type "float" to "CSchemaFloat" |
default ... is ...
default setting is value |
Mit dieser Anweisung können Sie festlegen, wie Klassen- und Member-Namen vom XML-Schema abgeleitet werden.
Beachten Sie, dass die die Groß- und Kleinschreibung bei Einstellungsnamen relevant ist.
Beispiel:
default "InvalidCharReplacement" is "_" |
Einstellungsname | Erklärung |
ValidFirstCharSet | Zulässige Zeichen zum Starten eines Identifier |
ValidCharSet | Zulässige Zeichen für andere Zeichen in einem Identifier |
InvalidCharReplacement | Das Zeichen, durch das alle Zeichen in Namen ersetzt werden, die nicht im ValidCharSet enthalten sind |
AnonTypePrefix | Präfix für Namen von anonymen Typen* |
AnonTypeSuffix | Suffix für Namen von anonymen Typen* |
ClassNamePrefix | Präfix für generierte Klassennamen |
ClassNameSuffix | Suffix für generierte Klassennamen |
EnumerationPrefix | Präfix für Symbolkonstanten, die für Enumerationswerte deklariert wurden |
EnumerationUpperCase | "ein" für das Konvertieren der Namen der Enumerationskonstanten in Großbuchstaben |
FallbackName | Verwende diesen Namen, wenn ein Name nur aus Zeichen besteht, die sich nicht im ValidCharSet befinden |
* Namen anonymer Typen werden aus AnonTypePrefix + Elementname + AnonTypeSuffix erzeugt.
reserve
reserve word |
Fügt das angegebene Wort zur Liste der reservierte Wörter hinzu. Damit stellen Sie sicher, dass es nie als Klasse oder Member-Name generiert wird.
Beispiel:
reserve "while" |
include
Inkludiert die angegebene Datei als SPL-Quelldatei. Auf diese Art können Sie Ihre Vorlage zur einfacheren Bearbeitung und Verwaltung in mehrere Dateien aufteilen.
include filename |
Beispiel:
include "Module.cpp" |