Syntax der Werteformatierung
Die Syntax für die Werteformatierung lautet:
([präfix-zeichen]feld[suffix-zeichen][{feld-option1,feld-option2,...}])+
wobei | präfix-zeichen und suffix-zeichen optionale Definitionen sind, um die Ausrichtung und die Anzeige positiver/negativer Symbole zu steuern; |
feld jede Datentyp-spezifische Formatierung und jeder Text sein kann und |
{feld-option(en)} ein optionaler Qualifier ist, mit dem zusätzliche Formatierungsoptionen aktiviert werden können. |
Erklärung der Definitionssyntax
Die Werteformatierungsdefinition ist folgendermaßen zusammengesetzt:
•Die Definition besteht aus einem oder mehreren Feldern. So hat die Definition TT Monat JJJJ drei Felder.
•Felder können direkt hintereinander angezeigt werden oder durch die folgenden Zeichen getrennt werden: Leerzeichen, Bindestrich, Komma, Doppelpunkt, Punkt oder einen Textstring innerhalb von doppelten Anführungszeichen. So sind z.B. die Felder TT und Monat in der Definition: TT-Monat' im Jahr 'JJJJ durch einen Bindestrich getrennt und die Felder Monat und JJJJ sind durch einen in einfache Anführungszeichen gesetzten Textstring getrennt.
•Ein Feld kann optionale Präfix- und/oder Suffix-Zeichen haben. Z.B: <+###,##0.00.
•Ein Feld kann eine oder mehrere optionale Feldoptionen haben. Die Feldoption(en) für jedes Feld muss/müssen innerhalb einer einzigen geschwungenen Klammer stehen und darf/dürfen nicht durch ein Leerzeichen vom Feld getrennt sein. Mehrere Feldoptionen für ein einziges Feld werden durch ein "," (Komma) getrennt. In der Definition: TT Monat{uc,ro} JJJJ sind die Buchstaben uc und ro innerhalb der geschwungenen Klammer z.B. Feldoptionen für das Feld Monat.
Beispiele
Beispiel für eine Werteformatierung für einen xs:decimal Datentyp:
"$"(##0.00)
Beispiele für die Ausgabe wären:
$ 25.00
$ 25.42
$267.56
Beispiel für die Werteformatierung für einen xs:date Datentyp:
TT Monat{uc,ro} JJJJ
wobei | uc und ro Feldoptionen sind, damit das Feld Monat in Großbuchstaben angezeigt wird und schreibgeschützt ist. |
Ein Beispiel für die Ausgabe wäre:
24 SEPTEMBER 2003
Feldtypen
Ein Feldtyp stellt eine Komponente des Datums dar und gibt an, wie diese Komponente zu formatieren ist. Die Formatierung des Feldtyps kann mittels Präfixen und Suffixen sowie Feldoptionen geändert werden. In der folgenden Tabelle sind die verfügbaren Feldtypen aufgelistet. Beachten Sie, dass es im Dropdown-Menü des Dialogfelds "Werteformatierung" typspezifische und nur-Feld-spezifische Werteformatierungsdefinitionen gibt. Sie können eine dieser Definitionen auswählen und sie wie gewünscht durch Hinzufügen von Präfixen, Suffixen und/oder Feldoptionen ändern.
Feldtyp | Erklärung |
# | Leerzeichen, wenn an dieser Stelle keine Ziffer steht |
0 | Null, wenn an dieser Stelle keine Ziffer steht |
. | Dezimaltrennzeichen |
, | Tausendertrennzeichen |
Y | Jahr |
y | Jahr (Basis = 1930); siehe Anmerkung unten |
MM | Monat muss eine Länge 2 haben |
DD | Tag muss eine Länge 2 haben |
W | Wochennummer |
d | Wochentagnummer (1 bis 7) |
i | Tag im Jahr (1 bis 366) |
hh | Stunde (0 bis 23), muss eine Länge 2 haben |
HH | Stunde (1 bis 12), muss eine Länge 2 haben |
mm | Minute, muss eine Länge 2 haben |
ss | Sekunde, muss eine Länge 2 haben |
AM | AM oder PM |
am | am oder pm |
AD | AD (n.Chr.) oder BC (v.Chr.) |
ad | ad (n.Chr.) oder bc (v.Chr.) |
CE | CE oder BCE |
ce | ce oder bce |
Feldtyp | Erklärung |
Weekday | Wochentag (Sunday, Monday...) |
WEEKDAY | Wochentag (SUNDAY, MONDAY...) |
weekday | Wochentag (sunday, monday...) |
Wkd | Wochentag (Sun, Mon...) |
WKD | Wochentag (SUN, MON...) |
wkd | Wochentag (sun, mon...) |
Month | Monat (January, February...) |
MONTH | Monat (JANUARY, FEBRUARY...) |
month | Monat (january, february...) |
Mon | Monat (Jan, Feb...) |
MON | Monat (JAN, FEB...) |
mon | Monat (jan, feb...) |
Anmerkungen zur Feldlänge und der Länge des eingegebenen Strings
Beachten Sie bitte die folgenden Punkte zur Länge von Datenkomponenten:
Länge von Datumsfeldern: Bei Verwendung von Feldern wie z.B. MM, DD, HH, hh, mm, und ss müssen diese in der Definition die Länge 2 haben. Bei Verwendung der Felder y oder Y wird die Länge der Ausgabe durch die Anzahl der y oder Y Zeichen in der Definition festgelegt. Wenn Sie z.B. YYY angeben, wäre die Ausgabe für einen Wert 2006 006; bei einer Definition YYYYYY wäre die Ausgabe 002006. Siehe auch Basisjahr weiter unten.
Erweitern der Feldlänge: Das * Symbol (Sternchen) dient dazu, die Länge eines nicht-semantischen numerischen Felds (Ganzzahlen, Dezimalzahlen, usw.) zu erweitern. Bei Dezimalzahlen kann es auf beiden Seiten des Dezimalpunkts (bzw. Kommas) stehen. So wird z.B. mit der Werteformatierung *0.00* sichergestellt, dass wie in der Formatierung definiert, an den leeren Stellen Nullen für eine Zahl angezeigt werden sowie eine beliebige Anzahl an Stellen links und rechts vom Dezimalpunkt bzw. -komma.
Eingabelänge in der Authentic-Ansicht: Wie der Inhalt eines Node in der Authentic-Ansicht angezeigt wird, hängt von der Werteformatierung für diesen Node ab. Aus diesem Grund ist der Benutzer der Authentic-Ansicht nicht in der Lage, mehr Zeichen als in der Werteformatierungsdefinition erlaubt, einzufügen. Auf diese Art können Sie die Eingabe in der Authentic-Ansicht einschränken. Beachten Sie jedoch, dass, wenn die Länge eines Werts, der bereits vorher im XML-Dokument vorkam, größer ist, als in der Formatierungsdefinition angegeben, dennoch der gesamte Wert angezeigt wird.
Anmerkung: | Wenn in einem Feld kein Text dargestellt wird, kann dies an Ihren Regionseinstellungen in Windows liegen. Windows gibt einen leeren String für das Feld AM/PM zurück, wenn die Sprache auf Deutsch gesetzt ist. |
Präfixe und Suffixe
Mit Hilfe von Präfixen und Suffixen können Sie die Textausrichtung und die positive/negative Darstellung von Feldern ändern. In der folgenden Tabelle sehen Sie eine Liste dieser Präfixe und Suffixe.
Präfix | Suffix | Erklärung |
< | Ausrichtung linksbündig; Standard für Text. Bei Zahlen, die standardmäßig rechtsbündig ausgerichtet sind, ist dies von Bedeutung, wenn es eine feste Anzahl vorangestellter Leerzeichen gibt. | |
> | Ausrichtung rechtsbündig; Standardeinstellung bei Zahlen. | |
? | Minuszeichen neben einer Zahl, wenn es sich um eine negative Zahl handelt; andernfalls kein Präfix. Dies ist die Standardeinstellung bei Zahlen. | |
<? | Minuszeichen linksbündig ausgerichtet bei negativen Zahlen; andernfalls kein Präfix. Minuszeichen, gefolgt von linksbündig ausgerichteter Zahl. | |
<?> | Minuszeichen linksbündig ausgerichtet bei negativen Zahlen; andernfalls kein Präfix. Rechtsbündig ausgerichtete Zahl. | |
- | - | Minuszeichen neben der Zahl bei negativen Zahlen; andernfalls Leerzeichen; wird vor der Zahl angezeigt (Präfix); wird nach der Zahl angezeigt (Suffix). |
<- | >- | Minuszeichen bei negativen Zahlen; andernfalls Leerzeichen. Zahl und Zeichen nebeneinander. Links ausgerichtet (Präfix); rechts ausgerichtet (Suffix). |
<-> | Minuszeichen linksbündig ausgerichtet bei negativen Zahlen; andernfalls Leerzeichen. Zahl ist rechtsbündig ausgerichtet. | |
+ | + | Neben der Zahl wird immer ein Plus- oder Minuszeichen angezeigt; vor der Zahl (Präfix), nach der Zahl (Suffix). |
<+ | >+ | Neben der Zahl wird immer ein Plus- oder Minuszeichen angezeigt, linksbündig ausgerichtet (Präfix), rechtsbündig ausgerichtet (Suffix). |
<+> | Plus- oder Minuszeichen wird immer linksbündig, Zahl rechtsbündig angezeigt. | |
( | ) | Klammern bei negativen Zahlen; andernfalls Leerzeichen. Neben der Zahl. |
<( | Klammern bei negativen Zahlen; andernfalls Leerzeichen. Neben der Zahl. Linksbündig. | |
<(> | Klammern bei negativen Zahlen; andernfalls Leerzeichen. Linke Klammer linksbündig; Zahl und recht Klammer nebeneinander und rechtsbündig. | |
[ | ] | Klammern bei negativen Zahlen; andernfalls nichts. Neben der Zahl. |
* | * | Erweiterbare Anzahl von Stellen auf der linken Seite (Präfix) oder auf der rechten Seite (Suffix) |
_ | _ | Leerzeichen |
^ | ^ | Füllzeichen (in den Optionen definiert) |
th | Ordnungszahl in Englisch (st, nd, rd oder th) | |
TH | Ordnungszahl in Englisch (ST, ND, RD oder TH) |
Feldoptionen
Mit Hilfe von Feldoptionen können Sie komplexe Änderungen an Feldern vornehmen. Die folgenden Optionen stehen zur Verfügung:
Option | Erklärung |
uc | In Großbuchstaben schreiben |
lc | In Kleinbuchstaben schreiben |
left | Linksbündig |
right | Rechtsbündig |
ro | Schreibgeschützt (XML); Bearbeitung ist nicht zulässig |
edit | Das Feld kann bearbeitet werden (standardmäßig aktiv) |
dec=<char> | Geben Sie ein Zeichen für den Dezimalpunkt ein (Standardeinstellung Punkt) |
sep=<char> | Geben Sie ein Zeichen für das Stellentrennzeichen ein (Standardeinstellung Komma) |
fill=<char> | Füllzeichen definieren |
base=<year> | Basisjahr für Jahr-Felder (siehe Anmerkung unten) |
pos | Nur positive Zahlen anzeigen; Eingabe von negativen Zahlen ist zulässig |
Mit Hilfe der Feldoptionen wird die Zahlenformatierung für europäische Sprachen generiert, in denen Punkte und Kommas anders als im Englischen verwendet werden, z.B. 123.456,75 statt wie im Englischen 123,456.75.
Um diese Formatierung zu definieren wäre die Werteformatierung: ###,###.##{dec=,,sep=.}
Beachten Sie, dass im Feld die englische Formatierung beibehalten wird, während mit den Feldoptionen dec und sep das Dezimalsymbol und das Kommastellentrennzeichen definiert werden. Wenn kein Dezimalsymbol und Kommastellentrennzeichen definiert ist werden die regionalen Einstellungen des Windows-Betriebssystems (Systemsteuerung | All Items | Region | Format) verwendet.If the decimal symbol and digit separator are not specified, these characters will default to decimal symbol and digit separator of the regional settings of the Windows OS (Control Panel | Alle Elemente | Region | Format).
Anmerkung zum Basisjahr
Bei Verwendung von Kurzformaten (wie yy und YY) definiert das Basisjahr, dass das Jahrhundert entfernt wird. So könnte z.B. die Feldoption Basisjahr in der Definition DD-MM-YY{base=1940} verwendet werden. Wenn der Benutzer einen Wert eingibt, der gleich oder größer als die letzten beiden Stellen des Basisjahrs ist, welche als zweistellige Ganzzahl betrachtet werden, so ist das Jahrhundert dasselbe wie das des Basisjahrs. Wenn der vom Benutzer eingegebene Wert kleiner ist als der Ganzzahlwert der letzten beiden Stellen, ist das Jahrhundert das Jahrhundert des Basisjahres plus 1. Wenn Sie als Basisjahr z.B. base=1940 einstellen, so wird bei Eingabe von 50 durch den Benutzer der Authentic-Ansicht, in das XML-Dokument der Wert 1950 eingegeben; wenn der Benutzer 23 eingibt, wird in das XML-Dokument der Wert 2023 eingegeben.
Beachten Sie die folgenden Punkte:
•Obwohl normalerweise als Kurzformat für das Jahr eine 2-stellige Zahl verwendet wird, können bei Angabe eines Basisjahres auch Jahresformate mit einer oder drei Stellen verwendet werden.
•Datentypen, bei denen Kurzformate verwendet werden können, sind: xs:date, xs:dateTime, xs:gYear, und xs:gYearMonth.
•Stellen Sie bei Definition des Eingabeformats für eine automatische Berechnung sicher, dass im Dialogfeld "Werteformatierung" der richtige Datentyp ausgewählt ist. (Der ausgewählte Datentyp sollte der des Ergebnisses der automatischen Berechnung sein.)
•Bei Verwendung des Feldtyps yy ist das Standardbasisjahr 1930. Dieser Wert wird außer Kraft gesetzt, wenn Sie explizit ein Basisjahr definieren.
•Wenn der Feldtyp YY ohne Angabe eines Basisjahres verwendet wird, kann der Benutzer der Authentic-Ansicht nur die letzten beiden Stellen des vierstelligen Jahreswerts ändern; die ersten beiden Stellen bleiben im XML-Dokument unverändert.