#pattern * Common microsyntaxes #ja $1 共通マイクロ構文 #en There are various places in HTML that accept particular data types, such as dates or numbers. This section describes what the conformance criteria for content in those formats is, and how to parse them. #ja HTML 中のいろいろな場所で、日付や数値のような特定のデータ型を使うことができます。 この節では、そのような書式の内容の適合基準は何か、 どう構文解析するかを説明します。 #en Need to go through the whole spec and make sure all the attribute values are clearly defined either in terms of microsyntaxes or in terms of other specs, or as "Text" or some such. #ja 仕様書全体について、すべての属性値がマイクロ構文を使ってか他の仕様書を使ってか「文章」などとして定義されるようにする必要があります。 #pattern * Common parser idioms #ja $1 構文解析器共通慣用句 #en The space characters, for the purposes of this specification, are U+0020 SPACE, U+0009 CHARACTER TABULATION (tab), U+000A LINE FEED (LF), U+000C FORM FEED (FF), and U+000D CARRIAGE RETURN (CR). #ja 間隔文字は、 この仕様書においては、 U+0020 SPACE, U+0009 CHARACTER TABULATION (tab)、U+000A LINE FEED (LF)、U+000C FORM FEED (FF)、 U+000D CARRIAGE RETURN (CR) です。 #en Some of the micro-parsers described below follow the pattern of having an input variable that holds the string being parsed, and having a position variable pointing at the next character to parse in input. #ja これ以降で説明するマイクロ構文解析器のいくつかは、構文解析される文字列を保持する input 変数を持ち、 input 中で次に構文解析する文字を指す position 変数を持つというパターンに従っています。 #en For parsers based on this pattern, a step that requires the user agent to collect a sequence of characters means that the following algorithm must be run, with characters being the set of characters that can be collected: #ja このパターンに従う構文解析器において、利用者エージェントが文字列を集めることを要求している段階は、 次の算法を、 characters が収集できる文字の集合であるとして実行しなければ[[MUST:ならない]]ことを意味しています。 #en Let input and position be the same variables as those of the same name in the algorithm that invoked these steps. #ja inputposition を、これらの段階を呼び出した算法中の同名の変数と同じものとします。 #en Let result be the empty string. #ja result を空文字列とします。 #en While position doesn't point past the end of input and the character at position is one of the characters, append that character to the end of result and advance position to the next character in input. #ja positioninput の終わりの更に先を指しておらず、 position の文字が characters のうちの1つである間、 その文字を result の終わりに追加し、 positioninput の次の文字に進めます。 #en Return result. #ja result を返します。 #en The step skip whitespace means that the user agent must collect a sequence of characters that are space characters. The step skip Zs characters means that the user agent must collect a sequence of characters that are in the Unicode character class Zs. In both cases, the collected characters are not used. [UNICODE] #ja 空白を飛ばす段階は、 利用者エージェントが間隔文字である文字列を集めなければ[[MUST:ならない]]ことを意味します。 Zs 文字を飛ばす段階は、 利用者エージェントが Unicode 文字クラス Zs に含まれる文字列を集めなければ[[MUST:ならない]]ことを意味します。文字列を集めなければ[[MUST:ならない]]ことを意味します。 どちらの場合も、集めた文字は使いません。 [UNICODE] #pattern * Boolean attributes #ja $1 ブール型属性 #en A number of attributes in HTML5 are boolean attributes. The presence of a boolean attribute on an element represents the true value, and the absence of the attribute represents the false value. #ja HTML5 の数々の属性はブール型属性です。要素にブール型属性が存在すると真の値を表し、 存在しないと偽の値を表します。 #en If the attribute is present, its value must either be the empty string or a value that is an ASCII case-insensitive match for the attribute's canonical name, with no leading or trailing whitespace. #ja 属性が存在する場合、その値は空文字列か、または ASCII 大文字・小文字不区別で属性の正準名と一致するような (先頭にも末尾にも空白がない) 値のいずれかでなければ[[MUST:なりません]]。 #pattern * Numbers #ja $1 数値 #pattern * Unsigned integers #ja $1 符号無し整数 #en A string is a valid non-negative integer if it consists of one of more characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). #ja 文字列は、範囲 U+0030 DIGIT ZERO (0) ~ U+0039 DIGIT NINE (9) の文字1文字以上で構成される場合、妥当な非負整数です。 #en The rules for parsing non-negative integers are as given in the following algorithm. When invoked, the steps must be followed in the order given, aborting at the first step that returns a value. This algorithm will either return zero, a positive integer, or an error. Leading spaces are ignored. Trailing spaces and indeed any trailing garbage characters are ignored. #ja 非負整数を構文解析する規則は次の算法で与えられるものです。 この算法が呼び出された時には、与えられた順に段階に従い、 値を返す最初の段階で中断しなければ[[MUST:なりません]]。 この算法は零か正整数か誤りを返します。 先頭の間隔は無視されます。末尾の空白、というかごみ文字列はすべて無視されます。 #en Let input be the string being parsed. #ja input を構文解析される文字列とします。 #en Let position be a pointer into input, initially pointing at the start of the string. #ja positioninput 中の指示子とし、初期位置を文字列の始めとします。 #en Let value have the value 0. #ja value を値 0 にします。 #en Skip whitespace. #ja 空白を読み飛ばします。 #en If position is past the end of input, return an error. #ja positioninput の終わりを過ぎていれば、誤りを返します。 #en If the next character is not one of U+0030 DIGIT ZERO (0) .. U+0039 DIGIT NINE (9), then return an error. #ja 次の文字が U+0030 DIGIT ZERO (0) 〜 U+0039 DIGIT NINE (9) のうちの1つでない場合、誤りを返します。 #en If the next character is one of U+0030 DIGIT ZERO (0) .. U+0039 DIGIT NINE (9): #ja 次の文字が U+0030 DIGIT ZERO (0) 〜 U+0039 DIGIT NINE (9) のうちの1つである場合: #en Multiply value by ten. #ja value を10倍します。 #en Add the value of the current character (0..9) to value. #ja 現在の文字の値 (0〜9) を value に加えます。 #en Advance position to the next character. #ja position を次の文字に進めます。 #pattern If position is not past the end of input, return to the top of step * in the overall algorithm (that's the step within which these substeps find themselves). #ja positioninput の終わりを過ぎていなければ、 算法全体の段階 $1 (これらの部分段階自体が含まれている段階) の先頭に返ります。 #en Return value. #ja value を返します。 #pattern * Signed integers #ja $1 符号付き整数 #en A string is a valid integer if it consists of one of more characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), optionally prefixed with a U+002D HYPHEN-MINUS ("-") character. #ja 文字列は、範囲 U+0030 DIGIT ZERO (0) ~ U+0039 DIGIT NINE (9) の文字1文字以上で構成され、任意選択で接頭辞として U+002D HYPHEN-MINUS ("-") 文字がある場合、妥当な整数です。 #en The rules for parsing integers are similar to the rules for non-negative integers, and are as given in the following algorithm. When invoked, the steps must be followed in the order given, aborting at the first step that returns a value. This algorithm will either return an integer or an error. Leading spaces are ignored. Trailing spaces and trailing garbage characters are ignored. #ja 整数を構文解析する規則は、非負整数用の規則と似ており、 次の算法により与えられます。これらの段階は、呼び出された場合、 与えられた順序に従い実行し、初めて値を返す段階で停止しなければ[[MUST:なりません]]。 この算法は整数か誤りのいずれかを返します。先頭の間隔は無視されます。 末尾の間隔や末尾のごみ文字は無視されます。 #en Let sign have the value "positive". #ja sign を、「正」という値を持つようにします。 #en If the character indicated by position (the first character) is a U+002D HYPHEN-MINUS ("-") character: #ja position が示す文字 (最初の文字) が U+002D HYPHEN-MINUS ("-") 文字である場合、 #en Let sign be "negative". #ja sign を「負」とします。 #en If sign is "positive", return value, otherwise return 0-value. #ja sign が「正」の場合、 value を返します。そうでない場合、 0-value を返します。 #pattern * Real numbers #ja $1 実数 #en A string is a valid floating point number if it consists of one of more characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), optionally with a single U+002E FULL STOP (".") character somewhere (either before these numbers, in between two numbers, or after the numbers), all optionally prefixed with a U+002D HYPHEN-MINUS ("-") character. #ja 文字列は、範囲 U+0030 DIGIT ZERO (0) ~ U+0039 DIGIT NINE (9) の文字1文字以上で構成され、 任意選択で U+002E FULL STOP (".") 文字1文字がどこか (数字の前か、 2つの数字の間か、数字の後のいずれか) を含み、その全体について任意選択で接頭辞として U+002D HYPHEN-MINUS ("-") 文字がある場合、妥当な浮動小数点数です。 #en The rules for parsing floating point number values are as given in the following algorithm. As with the previous algorithms, when this one is invoked, the steps must be followed in the order given, aborting at the first step that returns a value. This algorithm will either return a number or an error. Leading spaces are ignored. Trailing spaces and garbage characters are ignored. #ja 浮動小数点数値を構文解析する規則は次の算法により与えられる通りです。 前述の算法と同様で、この算法が呼び出された時も、 与えられた順序に従い実行し、値を返す最初の段階で停止しなければ[[MUST:なりません]]。 この算法は、数か誤りのいずれかを返します。先頭の間隔は無視されます。 末尾の間隔とごみ文字は無視されます。 #en If the next character is not one of U+0030 DIGIT ZERO (0) .. U+0039 DIGIT NINE (9) or U+002E FULL STOP ("."), then return an error. #ja 次の文字が U+0030 DIGIT ZERO (0) ~ U+0039 DIGIT NINE (9) か U+002E FULL STOP (".") のいずれかでなければ、 誤りを返します。 #en If the next character is U+002E FULL STOP ("."), but either that is the last character or the character after that one is not one of U+0030 DIGIT ZERO (0) .. U+0039 DIGIT NINE (9), then return an error. #ja 次の文字が U+002E FULL STOP (".") でありながら、 これが最後の文字であるか、またはその次の文字が U+0030 DIGIT ZERO (0) ~ U+0039 DIGIT NINE (9) のいずれかではない場合、 誤りを返します。 #en If position is past the end of input, then if sign is "positive", return value, otherwise return 0-value. #ja positioninput の終わりを過ぎている場合には、 sign が「正」であるなら value を返し、そうでないなら 0-value を返します。 #en Otherwise return to the top of step 10 in the overall algorithm (that's the step within which these substeps find themselves). #ja そうでない場合、全体の算法の段階 10 (これら部分段階が含まれている段階) の先頭に戻ります。 #en Otherwise, if the next character is not a U+002E FULL STOP ("."), then if sign is "positive", return value, otherwise return 0-value. #ja そうでない場合、次の文字が U+002E FULL STOP (".") でない場合には、 sign が「正」であるなら value を返し、そうでないなら 0-value を返します。 #en The next character is a U+002E FULL STOP ("."). Advance position to the character after that. #ja 次の文字は U+002E FULL STOP (".") です。 position をその次の文字に進めます。 #en Let divisor be 1. #ja divisor を 1 とします。 #en Multiply divisor by ten. #ja divisor に 10 を掛けます。 #en Add the value of the current character (0..9) divided by divisor, to value. #ja 現在の文字の値 (0~9) を divisor で割った値を、value に加えます。 #en Otherwise return to the top of step 14 in the overall algorithm (that's the step within which these substeps find themselves). #ja そうでない場合、全体の算法の段階 14 (これら部分段階が含まれている段階) の先頭に戻ります。 #en Otherwise, if sign is "positive", return value, otherwise return 0-value. #ja そうでない場合、 sign が「正」であるなら value を返し、そうでないなら 0-value を返します。 #pattern * Ratios #ja $1 比率 #en The algorithms described in this section are used by the progress and meter elements. #ja この節で説明する算法は、 progress 要素と meter 要素で使います。 #en A valid denominator punctuation character is one of the characters from the table below. There is a value associated with each denominator punctuation character, as shown in the table below. #ja 妥当な分母句読点文字は、 次の表の文字のいずれかです。次の表に示すように、各分母句読点文字には関連付けられた値があります。 #en Denominator Punctuation Character #ja 分母句読点文字 #en Value #ja 値 #en The steps for finding one or two numbers of a ratio in a string are as follows: #ja 文字列中の比率の1つか2つの数字を探す段階は、次の通りです。 #en If the string is empty, then return nothing and abort these steps. #ja 文字列が空である場合、何も返さず、これらの段階を停止します。 #en Find a number in the string according to the algorithm below, starting at the start of the string. #ja 後述の算法に従い、文字列のはじめから開始して数を探します。 #en If the sub-algorithm in step 2 returned nothing or returned an error condition, return nothing and abort these steps. #ja 段階 2 の部分算法が何も返さなかったか、誤り条件を返した場合には、 何も返さず、これらの段階を停止します。 #en Set number1 to the number returned by the sub-algorithm in step 2. #ja number1 を、段階 2 の部分算法が返した数とします。 #en Starting with the character immediately after the last one examined by the sub-algorithm in step 2, skip any characters in the string that are in the Unicode character class Zs (this might match zero characters). [UNICODE] #ja 段階 2 の部分算法が調べた最後の文字の直後の文字から始めて、文字列中の Unicode 文字クラス Zs の文字を飛ばします (これに一致するのは零文字かもしれません)。 [UNICODE] #en If there are still further characters in the string, and the next character in the string is a valid denominator punctuation character, set denominator to that character. #ja 文字列中に更に文字がまだある場合で、文字列中の次の文字が妥当な分母句読点文字である場合には、 denominator をその文字に設定します。 #en If the string contains any other characters in the range U+0030 DIGIT ZERO to U+0039 DIGIT NINE, but denominator was given a value in the step 6, return nothing and abort these steps. #ja 文字列が範囲 U+0030 DIGIT ZERO ~ U+0039 DIGIT NINE の文字をまだ他に含んでいる場合で、 段階 6 で denominator に値が与えられた場合には、 何も返さず、これらの段階を停止します。 #en Otherwise, if denominator was given a value in step 6, return number1 and denominator and abort these steps. #ja そうでない場合、 denominator が段階 6 で値を与えられた場合には、 number1denominator を返し、これらの段階を停止します。 #en Find a number in the string again, starting immediately after the last character that was examined by the sub-algorithm in step 2. #ja 文字列中を更に数を探しますが、 段階 2 の部分算法で調べた最後の文字の直後からはじめます。 #en If the sub-algorithm in step 9 returned nothing or an error condition, return nothing and abort these steps. #ja 段階 9 の部分算法が何も返さないか、誤り条件を返す場合、 何も返さず、これらの段階を停止します。 #en Set number2 to the number returned by the sub-algorithm in step 9. #ja number2 を、段階 9 の部分算法が返した数とします。 #en If there are still further characters in the string, and the next character in the string is a valid denominator punctuation character, return nothing and abort these steps. #ja 文字列中に更に文字がまだある場合で、文字列中の次の文字が妥当な分母句読点文字である場合、 何も返さず、これらの段階を停止します。 #en If the string contains any other characters in the range U+0030 DIGIT ZERO to U+0039 DIGIT NINE, return nothing and abort these steps. #ja 文字列が範囲 U+0030 DIGIT ZERO ~ U+0039 DIGIT NINE の文字をまだ他に含んでいる場合、 何も返さず、これらの段階を停止します。 #en Otherwise, return number1 and number2. #ja そうでない場合、 number1number2 を返します。 #en The algorithm to find a number is as follows. It is given a string and a starting position, and returns either nothing, a number, or an error condition. #ja 数を探すための算法は次の通りです。 この算法は、文字列と開始位置を与えられ、 何も返さないか、数を返すか、誤り条件を返すかのいずれかです。 #en Starting at the given starting position, ignore all characters in the given string until the first character that is either a U+002E FULL STOP or one of the ten characters in the range U+0030 DIGIT ZERO to U+0039 DIGIT NINE. #ja 与えられた開始位置からはじめ、 U+002E FULL STOP か、範囲 U+0030 DIGIT ZERO ~ U+0039 DIGIT NINE の10文字のいずれかであるような最初の文字まで、 その文字列中のすべての文字を無視します。 #en If there are no such characters, return nothing and abort these steps. #ja そのような文字がない場合には、何も返さず、これらの段階を停止します。 #en Starting with the character matched in step 1, collect all the consecutive characters that are either a U+002E FULL STOP or one of the ten characters in the range U+0030 DIGIT ZERO to U+0039 DIGIT NINE, and assign this string of one or more characters to string. #ja 段階 1 で一致した文字からはじめ、 U+002E FULL STOP か、範囲 U+0030 DIGIT ZERO ~ U+0039 DIGIT NINE の10文字のいずれかであるような連続した文字群をすべて集め、 この1文字以上の文字からなる文字列を string に代入します。 #en If string contains more than one U+002E FULL STOP character then return an error condition and abort these steps. #ja string が U+002E FULL STOP 文字を複数含んでいる場合、誤り条件を返し、これらの段階を停止します。 #en Parse string according to the rules for parsing floating point number values, to obtain number. This step cannot fail (string is guaranteed to be a valid floating point number). #ja string浮動小数点数値を構文解析する規則により構文解析し、 number を得ます。この段階は失敗しません (string妥当な浮動小数点数であることが保証されています)。 #en Return number. #ja number を返します。 #pattern * Percentages and dimensions #ja $1 百分率と寸法 #pattern * Lists of integers #ja $1 整数のリスト #en A valid list of integers is a number of valid integers separated by U+002C COMMA characters, with no other characters (e.g. no space characters). In addition, there might be restrictions on the number of integers that can be given, or on the range of values allowed. #ja 妥当な整数の並びは、 U+002C COMMA 文字で分離された数々の妥当な整数であって、 他の文字を含まない (例えば間隔文字を含まない) ものです。 加えて、与えられる整数の数や認められる値の範囲に制限が設けられることがあります。 #en The rules for parsing a list of integers are as follows: #ja 整数のリストを構文解析する規則は次の通りです。 #en Let numbers be an initially empty list of integers. This list will be the result of this algorithm. #ja numbers を、初期状態として、空の整数のリストとします。 このリストは、この算法の結果となります。 #en If there is a character in the string input at position position, and it is either a U+0020 SPACE, U+002C COMMA, or U+003B SEMICOLON character, then advance position to the next character in input, or to beyond the end of the string if there are no more characters. #ja 文字列 input の位置 position に文字があり、これが U+0020 SPACE、U+002C COMMA、 U+003B SEMICOLON のいずれかの文字であれば、 positioninput 中の次の文字に進めるか、それ以上文字がないのであれば文字列の終わりを過ぎたとします。 #en Advance position to the next character in input, or to beyond the end of the string if there are no more characters. #ja positioninput 中の次の文字に進めるか、それ以上文字がないのであれば文字列の終わりを過ぎたとします。 #en If position points to beyond the end of input, return numbers and abort. #ja positioninput の終わりを過ぎた先を指していれば、 numbers を返し、停止します。 #en If the character in the string input at position position is a U+0020 SPACE, U+002C COMMA, or U+003B SEMICOLON character, then return to step 4. #ja 文字列 input の位置 position が U+0020 SPACE、U+002C COMMA、U+003B SEMICOLON のいずれかの文字であれば、段階 4 に戻ります。 #en Let value be 0. #ja value を 0 とします。 #en Let started be false. This variable is set to true when the parser sees a number or a "-" character. #ja started を偽とします。この変数は、 構文解析器が数か「-」文字を見たときに真に設定されます。 #en Let got number be false. This variable is set to true when the parser sees a number. #ja got number を偽とします。この変数は構文解析器が数を見たときに真に設定されます。 #en Let finished be false. This variable is set to true to switch parser into a mode where it ignores characters until the next separator. #ja finished を偽とします。この変数は構文解析器が次の分離子まで文字を無視するモードに切り替わったとき真に設定されます。 #en Parser: If the character in the string input at position position is: #ja 構文解析器: 文字列 input 位置 position の文字が、 #en A U+002D HYPHEN-MINUS character #ja U+002D HYPHEN-MINUS 文字の場合 #en Follow these substeps: #ja 次の部分段階に従います。 #en If got number is true, let finished be true. #ja got number が真である場合、 finished を真とします。 #en If finished is true, skip to the next step in the overall set of steps. #ja finished が真であれる場合、全体の段階の集合のうちの次の段階に飛びます。 #en If started is true, let negated be false. #ja started が真である場合、 negated を偽とします。 #en Otherwise, if started is false and if bogus is false, let negated be true. #ja そうでない場合、started が偽であり、 bogus が偽である場合、 negated を真とします。 #en Let started be true. #ja started を真とします。 #en A character in the range U+0030 DIGIT ZERO .. U+0039 DIGIT NINE #ja 範囲 U+0030 DIGIT ZERO ~ U+0039 DIGIT NINE の文字の場合 #en Add the value of the digit, interpreted in base ten, to value. #ja 数字を十進数で解釈した場合の値を value に加えます。 #en Let got number be true. #ja got number を真とします。 #en A U+0020 SPACE character #ja U+0020 SPACE 文字の場合 #en A U+002C COMMA character #ja U+002C COMMA 文字の場合 #en A U+003B SEMICOLON character #ja U+003B SEMICOLON 文字の場合 #en If got number is false, return the numbers list and abort. This happens if an entry in the list has no digits, as in "1,2,x,4". #ja got number が偽の場合、 numbers リストを返し、停止します。 これは、「1,2,x,4」のようにリスト中の項目が数字を持たない場合に起こります。 #en Return the numbers list and abort. #ja numbers リストを返し、停止します。 #en If negated is true, then negate value. #ja negated が真の場合、 value を負にします。 #en Append value to the numbers list. #ja valuenumbers リストの末尾に追加します。 #en Jump to step 4 in the overall set of steps. #ja 全体の段階の集合のうちの段階 4 に飛びます。 #en A U+002E FULL STOP character #ja U+002E FULL STOP 文字の場合 #en Any other character #ja その他の文字の場合 #en Let bogus be true. #ja bogus を真とします。 #en If started is true, then return the numbers list, and abort. (The value in value is not appended to the list first; it is dropped.) #ja started が真の場合、 numbers リストを返し、停止します。 (value の値はリストに最初に追加されてはいません。 捨てられます。) #en If position points to a character (and not to beyond the end of input), jump to the big Parser step above. #ja position が文字を指す場合 (で input の終わりを過ぎていない場合)、 先の大段階構文解析器に飛びます。 #pattern * Dates and times #ja $1 日付と時刻 #en In the algorithms below, the number of days in month month of year year is: 31 if month is 1, 3, 5, 7, 8, 10, or 12; 30 if month is 4, 6, 9, or 11; 29 if month is 2 and year is a number divisible by 400, or if year is a number divisible by 4 but not by 100; and 28 otherwise. This takes into account leap years in the Gregorian calendar. [GREGORIAN] #ja 後述の算法において、year の月 month の日の数は、 month が 1、3、5、7、8、10、12 のいずれかであれば 31month が 4、6、9、11 のいずれかであれば 30month が 2 で year が 400 で割り切れる数であるか、 year が 4 で割り切れるものの 100 では割り切れない数であれば 29、 いずれでもなければ 28 です。これはグレゴリオ暦の閏年を考慮しています。 [GREGORIAN] #pattern * Specific moments in time #ja $1 特定の時刻 #en A string is a valid datetime if it has four digits (representing the year), a literal hyphen, two digits (representing the month), a literal hyphen, two digits (representing the day), optionally some spaces, either a literal T or a space, optionally some more spaces, two digits (for the hour), a colon, two digits (the minutes), optionally the seconds (which, if included, must consist of another colon, two digits (the integer part of the seconds), and optionally a decimal point followed by one or more digits (for the fractional part of the seconds)), optionally some spaces, and finally either a literal Z (indicating the time zone is UTC), or, a plus sign or a minus sign followed by two digits, a colon, and two digits (for the sign, the hours and minutes of the timezone offset respectively); with the month-day combination being a valid date in the given year according to the Gregorian calendar, the hour values (h) being in the range 0 ≤ h ≤ 23, the minute values (m) in the range 0 ≤ m ≤ 59, and the second value (s) being in the range 0 ≤ h < 60. [GREGORIAN] #ja 文字列が妥当な日時であるとは、4つの数字 (年を表します。)、ハイフン文字、2つの数字 (月を表します。)、 ハイフン文字、2つの数字 (日を表します。)、任意選択でいくらかの間隔、 文字 T または間隔、任意選択でいくらかの間隔、 2つの数字 (時)、コロン、2つの数字 (分)、 任意選択で秒 (これが含まれる場合、再度コロンの後に2つの数字 (秒の整数部)、任意選択で小数点の後に1つ以上の数字 (秒の小数部) で構成されなければ[[MUST:なりません]]。)、 任意選択でいくらかの間隔、そして最後に Z 文字 (時間帯が UTC であることを示します。) か、または正符号か負符号、2つの数字、コロン、2つの数字 (それぞれ時差の符号、 時、分) の並びのいずれか、これらを持つことをいいます。 ただし、月と日の組み合わせが当該年のグレゴリオ暦に照らして妥当な日付であり、 時の値 (h) が範囲 0 ≤ h ≤ 23 に、分の値 (m) が範囲 0 ≤ m ≤ 59 に、秒の値 (s) が範囲 0 ≤ h < 60 にあることとします。 [GREGORIAN] #en The digits must be characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), the hyphens must be a U+002D HYPHEN-MINUS characters, the T must be a U+0054 LATIN CAPITAL LETTER T, the colons must be U+003A COLON characters, the decimal point must be a U+002E FULL STOP, the Z must be a U+005A LATIN CAPITAL LETTER Z, the plus sign must be a U+002B PLUS SIGN, and the minus U+002D (same as the hyphen). #ja 数字は範囲 U+0030 DIGIT ZERO (0) ~ U+0039 DIGIT NINE (9) の文字でなければ[[MUST:ならず]]、ハイフンは U+002D HYPHEN-MINUS 文字でなければ[[MUST:ならず]]、 T は U+0054 LATIN CAPITAL LETTER T でなければ[[MUST:ならず]]、 コロンは U+003A COLON 文字でなければ[[MUST:ならず]]、 小数点は U+002E FULL STOP でなければ[[MUST:ならず]]、 Z は U+005A LATIN CAPITAL LETTER Z でなければ[[MUST:ならず]]、 正符号は U+002B PLUS SIGN、負符号は U+002D (ハイフンと同じ) でなければ[[MUST:なりません]]。 #en The following are some examples of dates written as valid datetimes. #ja 次に示すのは、妥当な日時として書かれた日付の例です。 #pattern "*" #ja 「$1」 #en Midnight UTC on the birthday of Nero (the Roman Emperor). #ja ネロ (ローマ皇帝) の誕生日の UTC における真夜中 #en One millisecond after noon on October 14th 1979, in the time zone in use on the east coast of North America during daylight saving time. #ja 北米大陸東海岸の夏時刻適用中における1979年10月14日の正午の1ミリ秒後 #en Midnight UTC on the 1st of January, 8592. The time zone associated with that time is two hours and nine minutes ahead of UTC. #ja 8592年1月1日の UC にける真夜中。 時間帯は UTC から2時間9分進んだもの。 #en Several things are notable about these dates: #ja これらの日付に関して、いくつか注意点があります。 #en Years with fewer than four digits have to be zero-padded. The date "37-12-13" would not be a valid date. #ja 4桁に満たない年は零埋めする必要があります。「37-12-13」 は妥当な日付ではありません。 #en To unambiguously identify a moment in time prior to the introduction of the Gregorian calendar, the date has to be first converted to the Gregorian calendar from the calendar in use at the time (e.g. from the Julian calendar). The date of Nero's birth is the 15th of December 37, in the Julian Calendar, which is the 13th of December 37 in the Gregorian Calendar. #ja グレゴリオ暦導入以前の時刻を曖昧なく識別するためには、その時刻を当時の暦 (例えばユリウス暦) からグレゴリオ暦に変換する必要があります。 ネロの誕生日はユリウス暦では37年12月15日ですが、 この日はグレゴリオ暦の37年12月13日にあたります。 #en The time and timezone components are not optional. #ja 時刻や時間帯の部品は省略可能ではありません。 #en Dates before the year 0 or after the year 9999 can't be represented as a datetime in this version of HTML. #ja 0年より前や9999年より後の日付はこの版の HTML の日時としては表現できません。 #en Time zones differ based on daylight savings time. #ja 時間帯は夏時刻制によって異なります。 #en Conformance checkers can use the algorithm below to determine if a datetime is a valid datetime or not. #ja 適合性検査器は時刻が妥当な時刻かどうかを決定するために後述の算法を使うことができます。 #en Collect a sequence of characters that are either U+0054 LATIN CAPITAL LETTER T characters or space characters. If the collected sequence is zero characters long, or if it contains more than one U+0054 LATIN CAPITAL LETTER T character, then fail. #ja U+0054 LATIN CAPITAL LETTER T 文字であるか、または間隔文字である文字の列を集めます。 集めた列が零文字長の場合、または複数の U+0054 LATIN CAPITAL LETTER T 文字を含む場合、失敗します。 #en If hour is not a number in the range 0 ≤ hour ≤ 23, then fail. #ja hour が範囲 0 ≤ hour ≤ 23 の数でない場合、失敗します。 #en If position is beyond the end of input or if the character at position is not a U+003A COLON character, then fail. Otherwise, move position forwards one character. #ja positioninput の終わりを過ぎている場合、 または position の文字が U+003A COLON 文字でない場合、失敗します。 そうでない場合、 position を1文字先へ進めます。 #en If minute is not a number in the range 0 ≤ minute ≤ 59, then fail. #ja minute が範囲 0 ≤ minute ≤ 59 の数でない場合、失敗します。 #en Let second be a string with the value "0". #ja second を、値「0」の文字列とします。 #en If position is beyond the end of input, then fail. #ja positioninput の終わりを過ぎている場合、失敗します。