値フォーマット構文

www.altova.com すべてを展開/折りたたむ このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  SPS ファイル: 表示方法 > 値フォーマット (数値データ型のフォーマット) >

値フォーマット構文

値フォーマットの構文は以下のようになります:

 

([prefix character/s]field[suffix character/s][{field-オプション1,field-option2,...}])+

 

ここでprefix character/ssuffix character/s は、配置とプラス/マイナス記号を表示するかを指定するオプションの指定子で、
field は任意のデータ型依存のフォーマットまたはテキストとなり、
{field-option(s)} は更なるフォーマットオプションを定義するオプションの修飾子となります。

 

定義構文の説明

値フォーマットの定義は以下のように構築されます:

 

値フォーマットの定義は1つ以上のフィールドから構成されます。例えば、DD Month YYYY には3つのフィールドが含まれます。
フィールドは連結して使用することもできるほか、空白スペース、ハイフン、コンマ、コロン、ピリオド、または引用句(' または ")に囲まれたテキスト文字列により区切られたかたちで使用することができます。例えば、DD-Month' in the year 'YYYY という定義では、DDMonth というフィールドがハイフンにより区切られ、MonthYYYY フィールドが、引用句で囲まれたテキストにより区切られています。
フィールドにはオプションの接頭文字や接尾文字を加えることができます(例: <+###,##0.00)。
フィールドには必要に応じて使用できるフィールドオプションを含めることができます。各フィールドオプションは角括弧内に含め、フィールドの直後に配置する必要があります。複数のフィールドオプションを使用する場合、コンマ (",") にて分離する必要があります。例えば、DD Month[uc,ro] YYYY という定義では、ucroMonth フィールドに対するフィールドオプションとなります。

 

xs:decimal データ型に対する値フォーマットの例を以下に示します:

 

"$"(##0.00)

 

出力は以下のようになります:

 

$ 25.00

$ 25.42

$267.56

 

xs:date データ型に対する値フォーマットの例を以下に示します:

 

DD Month{uc,ro} YYYY

 

ここで、

uc ならびに ro は、それぞれ Month フィールドを大文字の読み取り専用にするためのフィールドオプションとなります。

 

出力は以下のようになります:

 

24 SEPTEMBER 2003

 

フィールドタイプ

フィールドタイプは、データのコンポーネントと、そのコンポーネントがどのように表示されるのかを表します。フィールドタイプにおける固有のフォーマットは、接頭部ならびに接尾部にある修飾子やフィールドオプションにより修正することができます。以下のテーブルには利用可能なフィールドタイプが表示されます。値フォーマットダイアログのドロップダウンメニューには、特定の型に使用されるフィールドと、フィールドだけの値フォーマット定義が含まれます。定義を選択し、接頭部の修飾子、接尾部の修飾子、フィールドオプションを必要に応じて加えることになります。

 

フィールドタイプ

説明

#

指定された場所に対応する数値が無い場合、空白になります

0

指定された場所に対応する数値がない場合、0 になります

.

小数点

,

数値グループのセパレーター

Y

y

年(base = 1900)、下記のメモを参照ください

MM

月、2文字分の長さが必要

DD

日、2文字分の長さが必要、

W

週の番号

d

曜日の番号(1 から 7)

i

日付の番号(1 から 366)

hh

時(0 から 23)、2文字分の長さが必要

HH

時(1 から 12)、2文字分の長さが必要

mm

分、2文字分の長さが必要

ss

秒、2文字分の長さが必要

AM

AM または PM

am

am または pm

AD

AD または BC

ad

ad または bc

CE

CE または BCE

ce

ce または bce

 

 

 

 

フィールドタイプ

説明

Weekday

曜日(Sunday, Monday...)

WEEKDAY

曜日(SUNDAY, MONDAY...)

weekday

曜日(sunday, monday...)

Wkd

曜日(Sun, Mon...)

WKD

曜日(SUN, MON...)

wkd

曜日(sun, mon...)

Month

月(January, February...)

MONTH

月(JANUARY, FEBRUARY...)

month

月(january, february...)

Mon

月(Jan, Feb...)

MON

月(JAN, FEB...)

mon

月(jan, feb...)

 

 

フィールドの長さと入力値の長さに関するメモ

データコンポーネントの長さに関する以下の点に留意してください:

 

データフィールドの長さ: MMDDHHhhmmss といったフィールドが使用された場合、定義の中に2文字分の長さを与える必要があります。y または Y フィールドが使用された場合、定義で使用されている y または Y 文字の数により、出力の長さが決定されます。例えば、YYY という文字を指定した場合、2006 に対応した出力の値は 006 になり、YYYYYY という定義の場合、002006 となります。下記にある base 年に関するメモも参照ください。

 

フィールドの長さを延長: * (アスタリスク)を使うことで、意味を持たない数値フィールド(integer や decimal など)の長さを延長することができます。decimal の場合、小数点の前と後の両方で使用することができます。例えば、*0.00* という値フォーマットでは、0 により指定された場所だけではなく、整数部部分と小数点以下にある任意の場所で、数値が空の時には 0 が使用されるようになります。

 

Authentic View における入力の長さ: Authentic View に表示されるノードのコンテンツは、そのノードに対して定義された値フォーマットをベースにしたものになります。そのため、値フォーマットの定義により許されている数の文字を超えたかたちで Authentic View ユーザーが入力を行うことができなくなります。この機能を使用することで、Authentic View の入力を制限することができます。XML ドキュメントにて既にある値の長さが値フォーマットにより指定された長さを超える場合、全体の値が表示されます。

 

メモ:フィールドによりテキストのレンダリングが行われない場合、Windows の地域オプションが原因である場合もあります。例えば Windows の地域言語設定がドイツ語になっている場合、AM/PM フィールドに対して空の文字列が返されます。

 

接頭部ならびに接尾部の修飾子

接頭部ならびに接尾部の修飾子により、テキスト配置とフィールドのポジティブ/ネガティブ表示を修正することができます。接頭ならびに接尾で使用することのできる修飾子を以下のテーブルに示します。

 

接頭

接尾

説明

<

 

左揃えを行い、テキストに対してデフォルトの振る舞いを行います。数値に対しては、デフォルトで右揃えとなっています。

>

 

数値に対する右揃えを行います。

?

 

負の数値に対してマイナスのシンボルを付け加えます。数値に対するデフォルトのオプションになります。

<?

 

負の数値に対してマイナス記号を左寄せして表示します。マイナス記号の後には左寄せされた数値が続きます。

<?>

 

負の数値に対してマイナス記号を左寄せして表示します。数値は右寄せにより表示されます。

-

-

負の数値に対して、マイナス記号が隣り合わせで表示され、そうでない場合は空白が表示されます。接頭部にて指定されると数値の前にマイナス記号が、接尾部の場合は数値の後に記号が表示されます。

<-

>-

負の数値に対してマイナス記号が表示され、それ以外の場合には空白となります。数値と記号は隣り合って表示され、接頭部の場合は数値の前にマイナス記号が、接尾部の場合は数値の後に記号が表示されます。

<->

 

負の数値に対してマイナス記号が表示されます。数値は右寄せにより表示されます。

+

+

常にプラスまたはマイナス記号を数値の隣に表示します。接頭部では数値の前に、接尾部では数値の後に表示されます。

<+

>+

常にプラスまたはマイナス記号を数値の隣に表示します。接頭部は左寄せ、接尾部は右寄せで表示が行われます。

<+>

 

常にプラスまたはマイナス記号を表示します。記号は左寄せで表示され、数値は右寄せで表示されます。

(

)

負の数値の場合括弧が表示され、それ以外の場合は空白が数値の隣に表示されます。

<(

 

負の数値の場合括弧が表示され、それ以外の場合は空白が数値の隣に左寄せで表示されます。

<(>

 

負の数値の場合括弧が表示され、それ以外の場合は空白が表示されます。左括弧が左寄せで表示され、その後に数値、そして数値の隣に右括弧が表示されます。

[

]

負の数値の場合括弧が表示され、それ以外の場合は空白が数値の隣に表示されます。

*

*

(接頭部にて)左側に対して、かつ(接尾部にて)右側に対して数値の延長を行います。

_

_

空白スペース。

^

^

オプションで定義された文字の挿入。

 

th

英語における序数(1st、2nd、3rd、4th など)。

 

TH

英語における序数(1ST、2ND、3RD、4TH など)。

 

 

フィールドオプション

フィールドオプションにより、高度な修正をフィールドに対して行うことができます。以下のオプションを使用することができます:

 

オプション

説明

uc

大文字に変換。

lc

小文字に変換。

left

左寄せ。

right

右寄せ。

ro

(XML にある)値の読み取りだけで、編集を許可しない。

edit

編集可能なフィールド(デフォルトで有効)。

dec=<char>

小数点の文字を指定(デフォルトではピリオド)。

sep=<char>

数値の区切りに使用される文字を指定(デフォルトではコンマ)。

fill=<char>

塗りつぶしに使用する文字を指定します。

base=<year>

年フィールドの base 年を指定(以下のメモを参照)。

pos

プラス記号だけを表示、負の数値の入力を行うこともできます。

 

 

フィールドオプションを使用することで、小数点にコンマを使用して、数値の区切りにピリオドを使用するという欧州式の数値フォーマットを生成することができます(例: 123.456,78)。

 

上の値を生成するために使用される値フォーマットは以下のようになります: ###,###.##(dec=,,sep=.)

 

フィールドには英国式のフォーマットが指定されたままになっている一方で、dec ならびに sep オプションにより数値の小数点と区切り記号が Windows OS の地域設定に従い指定されている点に注目してください (コントロールパネル | すべてのアイテム | 地域 | フォーマット)。

 

Base 年に関するメモ

短い年フォーマット(例: yyYY)を使用する場合、指定された base 年により世紀部分が割愛されます。例えば、base 年フィールドオプションを DD-MM-yy(base=1940) というように、定義にて使用することができます。base 年にて指定された数値の下二桁以上の値がユーザーにより入力された場合、base 年と同じ世紀が使用されます。ユーザーにより入力された値が base 年にて指定された数値の下二桁未満となる場合、base 年の世紀に1を加えた数値が入力された年の世紀になります。例えば、base=1940 とセットされており、Authentic View ユーザーにより 50 が入力された場合、XML ドキュメントに入力される値は 1950 となります。23 という数値がユーザーにより入力された場合、2023 という値が XML ドキュメントに入力されます。

 

以下の点に注意してください:

 

通常2桁の数値が広く使用されますが、1桁の数値や3桁の数値を base 年とともに使用することもできます。
短い年フォーマットに対して使用することのできるデータ型は xs:datexs:dateTimexs:gYear、そして xs:gYearMonth となります。
値フォーマットが自動計算コンポーネントに対してセットされる場合、値フォーマットダイアログにて正しいデータ型が選択されていることを確認してください。選択された日付のデータ型が自動計算の結果に対応している必要があります。
yy フィールド型が使用される場合、デフォルトの base 年は 1930 となります。明示的に base 年を指定することで、デフォルトの設定がオーバーライドされます。
YY フィールドタイプは、 base 年度をセットすることなく設定され、base 年を指定すること無く YY フィールド型を使用する場合、Authentic View ユーザーは4桁のうち最後の2桁だけを修正することができるようになります。最初の2桁は変更されることなく XML ドキュメントに保持されます。

 

 

 


(C) 2019 Altova GmbH