/
854.txt
169 lines (141 loc) · 4.44 KB
/
854.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
* 仕様書
[REFS[
- [1]
[CITE[Unicode Locale Data Markup Language ([[LDML]]) Part 4: Dates]], [TIME[2022-04-06T14:24:49.000Z]], [TIME[2022-07-11T08:01:56.548Z]] <https://unicode.org/reports/tr35/tr35-dates.html#Week_Data>
- [2]
[CITE@en[cldr/supplementalData.xml at latest · unicode-org/[[cldr]]]], [TIME[2022-07-11T08:03:29.000Z]] <https://github.com/unicode-org/cldr/blob/latest/common/supplemental/supplementalData.xml>
]REFS]
[3]
[[UAX #35]] ([[LDML]]) が構文を定め、
[[CLDR]] が[[ロケール]]定義を提供し、
[[ICU]] が実装するという関係になっています。
その母体となる[[標準化団体]]が [[Unicode Consortium]] です。
;; [4] [CITE[[[The Unicode Standard]]]]
本体と同じ[[標準化団体]]ですが、
仕様としては別物です。
[5] 実装はそれ以外にもあるかもしれません。
[SEE[ [[LDML]], [[CLDR]], [[ICU]] ]]
* LDML 要素
[6]
[[LDML]] の[[ロケール]]データファイル用の [[XML要素]]として、
[DFN[[CODE[weekData]]]]
があります。
その[[内容]]は、
[CODE[minDays]],
[CODE[firstDays]],
[CODE[weekendStart]],
[CODE[weekEnd]],
[CODE[weekOfPreference]]
各[[要素]]で、この順序で、各0個[[以上]]含められます。
[SRC[>>1]]
-*-*-
[7]
[DFN[[CODE[minDays]]]]
は[[強制空要素]]で、
[CODE[count]] [[属性]]と
[CODE[territories]] [[属性]]が[[必須]]です。
[SRC[>>1]]
[8]
[DFN[[CODE[firstDay]]]],
[DFN[[CODE[weekendStart]]]],
[DFN[[CODE[weekendEnd]]]]
はすべて[[強制空要素]]で、
[CODE[day]] [[属性]]と
[CODE[territories]] [[属性]]が[[必須]]です。
[SRC[>>1]]
[11]
[CODE[minDays]],
[CODE[firstDay]],
[CODE[weekendStart]],
[CODE[weekendEnd]]
各[[要素]]の
[DFN[[CODE[territories]]]] [[属性]]は、
[CODE[NMTOKENS]]
を指定できます。
[SRC[>>1]]
[[要素]]は[[領土]]ごとの情報を表しており、
[CODE[territories]]
[[属性値]]の各[[名前字句]]が該当する[[領土]]を表しています。
同じ情報を持つ[[領土]]は1つの[[要素]]にまとめることができ、
別の情報を持つ[[領土]]は別の[[要素]]で表します。
[[領土]] [CODE[001]] の[[要素]]によって[[既定値]]の情報を記述できます
[SRC[>>1]]。
[9]
[CODE[minDays]] [[要素]]の
[DFN[[CODE[count]]]] [[属性]]は[[列挙属性]]で、 [CODE[1]] から [CODE[7]]
までの[[ASCII数字]]を指定できます。
[SRC[>>1]]
[10]
[CODE[firstDay]],
[CODE[weekendStart]],
[CODE[weekendEnd]]
各[[要素]]の
[DFN[[CODE[day]]]] [[属性]]は[[列挙属性]]で、
[CODE[sun]],
[CODE[mon]],
[CODE[tue]],
[CODE[wed]],
[CODE[thu]],
[CODE[fri]],
[CODE[sat]]
を指定できます。
[SRC[>>1]]
-*-*-
[12]
[DFN[[CODE[weekOfPreference]]]]
[[要素]]は[[強制空要素]]で、
[CODE[locales]] [[属性]]と
[CODE[ordering]] [[属性]]が[[必須]]です。
[SRC[>>1]]
[13]
[CODE[weekOfPreference]]
[[要素]]の
[DFN[[CODE[locales]]]] [[属性]]は、
[CODE[NMTOKENS]]
を指定できます。
[SRC[>>1]]
[[要素]]は[[ロケール]]ごとの情報を表しており、
[CODE[locales]]
[[属性値]]の各[[名前字句]]が該当する[[ロケール]]を表しています。
同じ情報を持つ[[ロケール]]は1つの[[要素]]にまとめることができ、
別の情報を持つ[[ロケール]]は別の[[要素]]で表します。
[[ロケール]] [CODE[und]] の[[要素]]によって[[既定値]]の情報を記述できます
[SRC[>>1]]。
[14]
[CODE[weekOfPreference]]
[[要素]]の
[DFN[[CODE[ordering]]]] [[属性]]は、
[CODE[NMTOKENS]]
を指定できます。
[SRC[>>1]]
* 年の週と月の週
[15]
[RUBYB[年の週の計算][week-of-year calculation]]における年の最初の週の決定や、
[RUBYB[月の週の計算][week-of-month calculation]]における月の最初の週の決定では、
[CODE[minDays]] で指定された値を使って、
その[[日]]数[[以上]]が含まれる[[週]]を[[年]]や[[月]]の[[週]]、
それに満たない[[週]]を前の[[年]]や[[月]]の[[週]]とします。
[SRC[>>1]]
[16]
[[CLDR]] は本段落執筆時点では次のようにしています。
[SRC[>>2]]
- [17] [[領土]] [[001]] GU UM US VI は [N[1]]
- [18] [[領土]]
AD AN AT AX
BE BG
CH CZ
DE DK
EE ES
FI FJ FO FR
GB GF GG GI GP GR
HU
IE IM IS IT
JE
LI LT LU
MC MQ
NL NO
PL PT
RE RU
SE SJ SK SM
VA は [N[4]]
* メモ