1 |
* [CODE(HTMLe)@en[input]] [CODE(HTMLa)@en[type]] [CODE(HTML)@en[week]] (HTML)
|
2 |
|
3 |
[4]
|
4 |
[[HTML]] の [CODE(HTMLe)@en[[[input]]]]
|
5 |
[[要素]]の [COD(HTMLa)@en[[[type]]]] [[属性]]を
|
6 |
[DFN@en[[CODE(HTML)[[[week]]]]]] とすると、
|
7 |
[[週]]を指定する[[フォーム制御子]]となります。
|
8 |
|
9 |
|
10 |
[5] 仕様書:
|
11 |
- [[Web Forms 2.0]]
|
12 |
-- [CSECTION@en[2.4. Extensions to the [CODE(HTMLe)@en[[[input]]]] element]]
|
13 |
<IW:WF2:"#extensions">
|
14 |
|
15 |
[[#comment]]
|
16 |
|
17 |
** 値
|
18 |
***構文
|
19 |
|
20 |
[6]
|
21 |
[[DOM]] 内や[[フォーム提出]]時に用いられる値は、
|
22 |
[[ISO 8601]] の[[プロファイル]]であり、
|
23 |
次のような構文を有します。
|
24 |
- [[年]]: 4桁以上の[[数字]] ([CODE(char)[[[0]]]]〜[CODE(char)[[[9]]]])
|
25 |
- [CODE(HTML)[[[-W]]]]
|
26 |
- [[週]]: 2桁の[[数字]] ([CODE(HTML)[[[01]]]]
|
27 |
[[以上]]と[['''しなければなりません''']]。)
|
28 |
|
29 |
[[数]]は[[十進数]]と[['''しなければなりません''']]。
|
30 |
必要なら[[零埋め]][['''しなければなりません''']]。
|
31 |
|
32 |
[SRC@en[WF2 2.4]]
|
33 |
|
34 |
[[#comment]]
|
35 |
|
36 |
*** 暦
|
37 |
|
38 |
[2] [[週]]は[[月曜日]]から始まるとします。
|
39 |
ある[[年]]の第1[[週]]は、1月4日を含む[[週]]です。
|
40 |
[SRC@en[WF2 2.4]]
|
41 |
|
42 |
[15] [[暦]]に関しては、 [CODE(HTML)@en[[[datetime]>>12]]]
|
43 |
の項を参照してください。
|
44 |
|
45 |
[[#comment]]
|
46 |
|
47 |
***例
|
48 |
|
49 |
[7] [CODE(HTML example)[2005-W52]]
|
50 |
[SRC@en[WF2 2.4]]
|
51 |
|
52 |
この[[週]]は、
|
53 |
2005年の最後の[[月曜日]]から
|
54 |
2006年の最初の[[日曜日]]までを含みます。
|
55 |
|
56 |
[[#comment]]
|
57 |
|
58 |
*** メモ
|
59 |
|
60 |
[16] [[零点]]は、 [CODE(HTML)@en[[[1970-W01]]]]
|
61 |
です。これは、1969年12月29日に始まる[[週]]で、
|
62 |
1970年1月1日を含んでいます。
|
63 |
[SRC@en[WF2 2.4.2]]
|
64 |
|
65 |
[[#comment]]
|
66 |
|
67 |
** 属性との関係
|
68 |
|
69 |
[8]
|
70 |
[CODE(HTMLa)@en[[[step]]]] [[属性]]は[[週]]単位の精度を表します。
|
71 |
[[既定値]]は [CODE(HTML)[[[1]]]] (1週間) です。
|
72 |
[SRC@en[WF2 2.4]]
|
73 |
|
74 |
[[#comment]]
|
75 |
|
76 |
** レンダリング
|
77 |
|
78 |
[9]
|
79 |
[[利用者エージェント]]は適切な [[widget]]
|
80 |
を使うことが期待されます。
|
81 |
|
82 |
[[#comment]]
|
83 |
|
84 |
** 互換性
|
85 |
|
86 |
[13] '''未対応利用者エージェントとの互換性'''
|
87 |
|
88 |
[CODE(HTML)@en[[[month]]]] に対応していない[[利用者エージェント]]は、
|
89 |
[CODE(HTML)@en[[[text]]]] (単一行[[文章入力制御子]])
|
90 |
として扱います。従って、[[利用者]]は任意の文字列を入力することができます。
|
91 |
|
92 |
ですから、[[著者]]は、対応している[[利用者エージェント]]が一般的になるまでの間、
|
93 |
[[フォーム制御子]]の近くで記入方法を説明しておくのがよいでしょう。
|
94 |
[[フォーム処理エージェント]]は記入された値が適当か検査するべきです
|
95 |
(これは[[安全性]]の観点からも重要です)。
|
96 |
|
97 |
[[#comment]]
|
98 |
|
99 |
** 歴史
|
100 |
|
101 |
[10]
|
102 |
この [CODE(HTMLe)@en[[[input]]]] [CODE(HTMLa)@en[[[type]]]]
|
103 |
は [[Web Forms 2.0]] で導入されました。
|
104 |
|
105 |
[[#comment]]
|
106 |
|
107 |
** 実装
|
108 |
|
109 |
[11]
|
110 |
[[Opera 9]] が実装しています。
|
111 |
|
112 |
[[#comment]]
|
113 |
|
114 |
|
115 |
[[#comment]]
|
116 |
|
117 |
** 関連
|
118 |
|
119 |
[12]
|
120 |
[CODE(HTMLe)@en[[[input]]]] [CODE(HTMLa)@en[[[type]]]]
|
121 |
として、[[日付]]のための [CODE(HTML)@en[[[date]]]]、
|
122 |
[[月]]のための [CODE(HTML)@en[[[month]]]]
|
123 |
などがあります。
|
124 |
|
125 |
[[#comment]]
|
126 |
|
127 |
** メモ
|
128 |
|
129 |
[3]
|
130 |
[[年]]と[[週]]による時期の指定は、
|
131 |
[[日本]]では馴染みが薄いものですが、
|
132 |
[[欧州]]の[[産業界]]ではよく使われているようです
|
133 |
[SRC@en[WF2 2.4]]。
|
134 |
|
135 |
[14]
|
136 |
もっとも、[[年]]と[[週]]により記述されるのは内部や[[提出]]の際の表現で、
|
137 |
必ずしも[[利用者]]に提示される表現とは一致しませんから、
|
138 |
[[利用者エージェント]]が[[日本]]の[[利用者]]に対しては
|
139 |
(何年の) 何月の第何週という形で選択・表示するようにすれば、
|
140 |
利用価値はあるでしょう。
|
141 |
|
142 |
;; そのためには、 [[Web Forms 2.0]]
|
143 |
が多くの[[利用者エージェント]]で実装されるようになる
|
144 |
(または[[著者]]が [[XBL]] などによる代替実装を提供する)
|
145 |
必要があります。いくら[[利用者]]が >>13
|
146 |
のように入力可能とはいっても、
|
147 |
[[週]]番号を数えるという慣れない作業が必要になります。
|
148 |
|
149 |
[[#comment]]
|
150 |
|
151 |
* メモ
|