| 289 |
title="">value</var> を返します。そうでない場合、 |
title="">value</var> を返します。そうでない場合、 |
| 290 |
0-<var title="">value</var> を返します。 |
0-<var title="">value</var> を返します。 |
| 291 |
|
|
| 292 |
|
#pattern |
| 293 |
|
<span class=secno>* </span>Real numbers |
| 294 |
|
#ja |
| 295 |
|
<span class=secno>$1 </span>実数 |
| 296 |
|
|
| 297 |
|
#en |
| 298 |
|
A string is a <dfn id=valid1>valid floating point number</dfn> if it |
| 299 |
|
consists of one of more characters in the range U+0030 DIGIT ZERO (0) to |
| 300 |
|
U+0039 DIGIT NINE (9), optionally with a single U+002E FULL STOP (".") |
| 301 |
|
character somewhere (either before these numbers, in between two numbers, |
| 302 |
|
or after the numbers), all optionally prefixed with a U+002D HYPHEN-MINUS |
| 303 |
|
("-") character. |
| 304 |
|
#ja |
| 305 |
|
文字列は、範囲 U+0030 DIGIT ZERO (0) ~ |
| 306 |
|
U+0039 DIGIT NINE (9) の文字1文字以上で構成され、 |
| 307 |
|
任意選択で U+002E FULL STOP (".") 文字1文字がどこか (数字の前か、 |
| 308 |
|
2つの数字の間か、数字の後のいずれか) を含み、その全体について任意選択で接頭辞として |
| 309 |
|
U+002D HYPHEN-MINUS ("-") 文字がある場合、<dfn id=valid1>妥当な浮動小数点数</dfn>です。 |
| 310 |
|
|
| 311 |
|
#en |
| 312 |
|
The <dfn id=rules1>rules for parsing floating point number values</dfn> |
| 313 |
|
are as given in the following algorithm. As with the previous algorithms, |
| 314 |
|
when this one is invoked, the steps must be followed in the order given, |
| 315 |
|
aborting at the first step that returns a value. This algorithm will |
| 316 |
|
either return a number or an error. Leading spaces are ignored. Trailing |
| 317 |
|
spaces and garbage characters are ignored. |
| 318 |
|
#ja |
| 319 |
|
<dfn id=rules1>浮動小数点数値を構文解析する規則</dfn>は次の算法により与えられる通りです。 |
| 320 |
|
前述の算法と同様で、この算法が呼び出された時も、 |
| 321 |
|
与えられた順序に従い実行し、値を返す最初の段階で停止しなければ[[MUST:なりません]]。 |
| 322 |
|
この算法は、数か誤りのいずれかを返します。先頭の間隔は無視されます。 |
| 323 |
|
末尾の間隔とごみ文字は無視されます。 |
| 324 |
|
|
| 325 |
|
#en |
| 326 |
|
If the next character is not one of U+0030 DIGIT ZERO (0) .. U+0039 |
| 327 |
|
DIGIT NINE (9) or U+002E FULL STOP ("."), then return an error. |
| 328 |
|
#ja |
| 329 |
|
次の文字が U+0030 DIGIT ZERO (0) ~ U+0039 |
| 330 |
|
DIGIT NINE (9) か U+002E FULL STOP (".") のいずれかでなければ、 |
| 331 |
|
誤りを返します。 |
| 332 |
|
|
| 333 |
|
#en |
| 334 |
|
If the next character is U+002E FULL STOP ("."), but either that is |
| 335 |
|
the last character or the character after that one is not one of U+0030 |
| 336 |
|
DIGIT ZERO (0) .. U+0039 DIGIT NINE (9), then return an error. |
| 337 |
|
#ja |
| 338 |
|
次の文字が U+002E FULL STOP (".") でありながら、 |
| 339 |
|
これが最後の文字であるか、またはその次の文字が U+0030 |
| 340 |
|
DIGIT ZERO (0) ~ U+0039 DIGIT NINE (9) のいずれかではない場合、 |
| 341 |
|
誤りを返します。 |
| 342 |
|
|
| 343 |
|
#en |
| 344 |
|
If <var title="">position</var> is past the end of <var |
| 345 |
|
title="">input</var>, then if <var title="">sign</var> is "positive", |
| 346 |
|
return <var title="">value</var>, otherwise return 0-<var |
| 347 |
|
title="">value</var>. |
| 348 |
|
#ja |
| 349 |
|
<var title="">position</var> が <var |
| 350 |
|
title="">input</var> の終わりを過ぎている場合には、 |
| 351 |
|
<var title="">sign</var> が「正」であるなら <var title="">value</var> |
| 352 |
|
を返し、そうでないなら 0-<var |
| 353 |
|
title="">value</var> を返します。 |
| 354 |
|
|
| 355 |
|
#en |
| 356 |
|
Otherwise return to the top of step 10 in the overall algorithm |
| 357 |
|
(that's the step within which these substeps find themselves). |
| 358 |
|
#ja |
| 359 |
|
そうでない場合、全体の算法の段階 10 (これら部分段階が含まれている段階) |
| 360 |
|
の先頭に戻ります。 |
| 361 |
|
|
| 362 |
|
#en |
| 363 |
|
Otherwise, if the next character is not a U+002E FULL STOP ("."), then |
| 364 |
|
if <var title="">sign</var> is "positive", return <var |
| 365 |
|
title="">value</var>, otherwise return 0-<var title="">value</var>. |
| 366 |
|
#ja |
| 367 |
|
そうでない場合、次の文字が U+002E FULL STOP (".") でない場合には、 |
| 368 |
|
<var title="">sign</var> が「正」であるなら <var title="">value</var> |
| 369 |
|
を返し、そうでないなら 0-<var |
| 370 |
|
title="">value</var> を返します。 |
| 371 |
|
|
| 372 |
|
#en |
| 373 |
|
The next character is a U+002E FULL STOP ("."). Advance <var |
| 374 |
|
title="">position</var> to the character after that. |
| 375 |
|
#ja |
| 376 |
|
次の文字は U+002E FULL STOP (".") です。 <var |
| 377 |
|
title="">position</var> をその次の文字に進めます。 |
| 378 |
|
|
| 379 |
|
#en |
| 380 |
|
Let <var title="">divisor</var> be 1. |
| 381 |
|
#ja |
| 382 |
|
<var title="">divisor</var> を 1 とします。 |
| 383 |
|
|
| 384 |
|
#en |
| 385 |
|
Multiply <var title="">divisor</var> by ten. |
| 386 |
|
#ja |
| 387 |
|
<var title="">divisor</var> に 10 を掛けます。 |
| 388 |
|
|
| 389 |
|
#en |
| 390 |
|
Add the value of the current character (0..9) divided by <var |
| 391 |
|
title="">divisor</var>, to <var title="">value</var>. |
| 392 |
|
#ja |
| 393 |
|
現在の文字の値 (0~9) を <var |
| 394 |
|
title="">divisor</var> で割った値を、<var title="">value</var> |
| 395 |
|
に加えます。 |
| 396 |
|
|
| 397 |
|
#en |
| 398 |
|
Otherwise return to the top of step 14 in the overall algorithm |
| 399 |
|
(that's the step within which these substeps find themselves). |
| 400 |
|
#ja |
| 401 |
|
そうでない場合、全体の算法の段階 14 (これら部分段階が含まれている段階) の先頭に戻ります。 |
| 402 |
|
|
| 403 |
|
#en |
| 404 |
|
Otherwise, if <var title="">sign</var> is "positive", return <var |
| 405 |
|
title="">value</var>, otherwise return 0-<var title="">value</var>. |
| 406 |
|
#ja |
| 407 |
|
そうでない場合、 |
| 408 |
|
<var title="">sign</var> が「正」であるなら <var title="">value</var> |
| 409 |
|
を返し、そうでないなら 0-<var |
| 410 |
|
title="">value</var> を返します。 |
| 411 |
|
|
| 412 |
|
#pattern |
| 413 |
|
<span class=secno>* </span>Ratios |
| 414 |
|
#ja |
| 415 |
|
<span class=secno>$1 </span>比率 |
| 416 |
|
|
| 417 |
|
#en |
| 418 |
|
The algorithms described in this section are used by the |
| 419 |
|
<code><a href="#progress">progress</a></code> and <code><a |
| 420 |
|
href="#meter">meter</a></code> elements. |
| 421 |
|
#ja |
| 422 |
|
この節で説明する算法は、 <code><a href="#progress">progress</a></code> 要素と |
| 423 |
|
<code><a |
| 424 |
|
href="#meter">meter</a></code> 要素で使います。 |
| 425 |
|
|
| 426 |
|
#en |
| 427 |
|
A <dfn id=valid2>valid denominator punctuation character</dfn> is one of |
| 428 |
|
the characters from the table below. There is <dfn id=a-value |
| 429 |
|
title="values associated with denominator punctuation characters">a value |
| 430 |
|
associated with each denominator punctuation character</dfn>, as shown in |
| 431 |
|
the table below. |
| 432 |
|
#ja |
| 433 |
|
<dfn id=valid2>妥当な分母句読点文字</dfn>は、 |
| 434 |
|
次の表の文字のいずれかです。次の表に示すように、<dfn id=a-value |
| 435 |
|
title="values associated with denominator punctuation characters">各分母句読点文字には関連付けられた値</dfn>があります。 |
| 436 |
|
|
| 437 |
|
#en |
| 438 |
|
Denominator Punctuation Character |
| 439 |
|
#ja |
| 440 |
|
分母句読点文字 |
| 441 |
|
|
| 442 |
|
#en |
| 443 |
|
Value |
| 444 |
|
#ja |
| 445 |
|
値 |
| 446 |
|
|
| 447 |
|
#en |
| 448 |
|
The <dfn id=steps>steps for finding one or two numbers of a ratio in a |
| 449 |
|
string</dfn> are as follows: |
| 450 |
|
#ja |
| 451 |
|
<dfn id=steps>文字列中の比率の1つか2つの数字を探す段階</dfn>は、次の通りです。 |
| 452 |
|
|
| 453 |
|
#en |
| 454 |
|
If the string is empty, then return nothing and abort these steps. |
| 455 |
|
#ja |
| 456 |
|
文字列が空である場合、何も返さず、これらの段階を停止します。 |
| 457 |
|
|
| 458 |
|
#en |
| 459 |
|
<a href="#find-a">Find a number</a> in the string according to the |
| 460 |
|
algorithm below, starting at the start of the string. |
| 461 |
|
#ja |
| 462 |
|
後述の算法に従い、文字列のはじめから開始して<a href="#find-a">数を探します</a>。 |
| 463 |
|
|
| 464 |
|
#en |
| 465 |
|
If the sub-algorithm in step 2 returned nothing or returned an error |
| 466 |
|
condition, return nothing and abort these steps. |
| 467 |
|
#ja |
| 468 |
|
段階 2 の部分算法が何も返さなかったか、誤り条件を返した場合には、 |
| 469 |
|
何も返さず、これらの段階を停止します。 |
| 470 |
|
|
| 471 |
|
#en |
| 472 |
|
Set <var title="">number1</var> to the number returned by the |
| 473 |
|
sub-algorithm in step 2. |
| 474 |
|
#ja |
| 475 |
|
<var title="">number1</var> を、段階 2 の部分算法が返した数とします。 |
| 476 |
|
|
| 477 |
|
#en |
| 478 |
|
Starting with the character immediately after the last one examined by |
| 479 |
|
the sub-algorithm in step 2, skip any characters in the string that are |
| 480 |
|
in the Unicode character class Zs (this might match zero characters). <a |
| 481 |
|
href="#refsUNICODE">[UNICODE]</a> |
| 482 |
|
#ja |
| 483 |
|
段階 2 の部分算法が調べた最後の文字の直後の文字から始めて、文字列中の Unicode |
| 484 |
|
文字クラス Zs の文字を飛ばします (これに一致するのは零文字かもしれません)。 <a |
| 485 |
|
href="#refsUNICODE">[UNICODE]</a> |
| 486 |
|
|
| 487 |
|
#en |
| 488 |
|
If there are still further characters in the string, and the next |
| 489 |
|
character in the string is a <a href="#valid2">valid denominator |
| 490 |
|
punctuation character</a>, set <var title="">denominator</var> to that |
| 491 |
|
character. |
| 492 |
|
#ja |
| 493 |
|
文字列中に更に文字がまだある場合で、文字列中の次の文字が<a href="#valid2">妥当な分母句読点文字</a>である場合には、 |
| 494 |
|
<var title="">denominator</var> をその文字に設定します。 |
| 495 |
|
|
| 496 |
|
#en |
| 497 |
|
If the string contains any other characters in the range U+0030 DIGIT |
| 498 |
|
ZERO to U+0039 DIGIT NINE, but <var title="">denominator</var> was given |
| 499 |
|
a value in the step 6, return nothing and abort these steps. |
| 500 |
|
#ja |
| 501 |
|
文字列が範囲 U+0030 DIGIT |
| 502 |
|
ZERO ~ U+0039 DIGIT NINE の文字をまだ他に含んでいる場合で、 |
| 503 |
|
段階 6 で <var title="">denominator</var> に値が与えられた場合には、 |
| 504 |
|
何も返さず、これらの段階を停止します。 |
| 505 |
|
|
| 506 |
|
#en |
| 507 |
|
Otherwise, if <var title="">denominator</var> was given a value in |
| 508 |
|
step 6, return <var title="">number1</var> and <var |
| 509 |
|
title="">denominator</var> and abort these steps. |
| 510 |
|
#ja |
| 511 |
|
そうでない場合、 <var title="">denominator</var> が段階 6 |
| 512 |
|
で値を与えられた場合には、 <var title="">number1</var> と <var |
| 513 |
|
title="">denominator</var> を返し、これらの段階を停止します。 |
| 514 |
|
|
| 515 |
|
#en |
| 516 |
|
<a href="#find-a">Find a number</a> in the string again, starting |
| 517 |
|
immediately after the last character that was examined by the |
| 518 |
|
sub-algorithm in step 2. |
| 519 |
|
#ja |
| 520 |
|
文字列中を更に<a href="#find-a">数を探します</a>が、 |
| 521 |
|
段階 2 の部分算法で調べた最後の文字の直後からはじめます。 |
| 522 |
|
|
| 523 |
|
#en |
| 524 |
|
If the sub-algorithm in step 9 returned nothing or an error condition, |
| 525 |
|
return nothing and abort these steps. |
| 526 |
|
#ja |
| 527 |
|
段階 9 の部分算法が何も返さないか、誤り条件を返す場合、 |
| 528 |
|
何も返さず、これらの段階を停止します。 |
| 529 |
|
|
| 530 |
|
#en |
| 531 |
|
Set <var title="">number2</var> to the number returned by the |
| 532 |
|
sub-algorithm in step 9. |
| 533 |
|
#ja |
| 534 |
|
<var title="">number2</var> を、段階 9 の部分算法が返した数とします。 |
| 535 |
|
|
| 536 |
|
#en |
| 537 |
|
If there are still further characters in the string, and the next |
| 538 |
|
character in the string is a <a href="#valid2">valid denominator |
| 539 |
|
punctuation character</a>, return nothing and abort these steps. |
| 540 |
|
#ja |
| 541 |
|
文字列中に更に文字がまだある場合で、文字列中の次の文字が<a href="#valid2">妥当な分母句読点文字</a>である場合、 |
| 542 |
|
何も返さず、これらの段階を停止します。 |
| 543 |
|
|
| 544 |
|
#en |
| 545 |
|
If the string contains any other characters in the range U+0030 DIGIT |
| 546 |
|
ZERO to U+0039 DIGIT NINE, return nothing and abort these steps. |
| 547 |
|
#ja |
| 548 |
|
文字列が範囲 U+0030 DIGIT |
| 549 |
|
ZERO ~ U+0039 DIGIT NINE の文字をまだ他に含んでいる場合、 |
| 550 |
|
何も返さず、これらの段階を停止します。 |
| 551 |
|
|
| 552 |
|
#en |
| 553 |
|
Otherwise, return <var title="">number1</var> and <var |
| 554 |
|
title="">number2</var>. |
| 555 |
|
#ja |
| 556 |
|
そうでない場合、 <var title="">number1</var> と <var |
| 557 |
|
title="">number2</var> を返します。 |
| 558 |
|
|
| 559 |
|
#en |
| 560 |
|
The algorithm to <dfn id=find-a>find a number</dfn> is as follows. It is |
| 561 |
|
given a string and a starting position, and returns either nothing, a |
| 562 |
|
number, or an error condition. |
| 563 |
|
#ja |
| 564 |
|
<dfn id=find-a>数を探す</dfn>ための算法は次の通りです。 |
| 565 |
|
この算法は、文字列と開始位置を与えられ、 |
| 566 |
|
何も返さないか、数を返すか、誤り条件を返すかのいずれかです。 |
| 567 |
|
|
| 568 |
|
#en |
| 569 |
|
Starting at the given starting position, ignore all characters in the |
| 570 |
|
given string until the first character that is either a U+002E FULL STOP |
| 571 |
|
or one of the ten characters in the range U+0030 DIGIT ZERO to U+0039 |
| 572 |
|
DIGIT NINE. |
| 573 |
|
#ja |
| 574 |
|
与えられた開始位置からはじめ、 U+002E FULL STOP か、範囲 U+0030 DIGIT ZERO ~ U+0039 |
| 575 |
|
DIGIT NINE の10文字のいずれかであるような最初の文字まで、 |
| 576 |
|
その文字列中のすべての文字を無視します。 |
| 577 |
|
|
| 578 |
|
#en |
| 579 |
|
If there are no such characters, return nothing and abort these steps. |
| 580 |
|
#ja |
| 581 |
|
そのような文字がない場合には、何も返さず、これらの段階を停止します。 |
| 582 |
|
|
| 583 |
|
#en |
| 584 |
|
Starting with the character matched in step 1, collect all the |
| 585 |
|
consecutive characters that are either a U+002E FULL STOP or one of the |
| 586 |
|
ten characters in the range U+0030 DIGIT ZERO to U+0039 DIGIT NINE, and |
| 587 |
|
assign this string of one or more characters to <var |
| 588 |
|
title="">string</var>. |
| 589 |
|
#ja |
| 590 |
|
段階 1 で一致した文字からはじめ、 U+002E FULL STOP か、範囲 U+0030 DIGIT ZERO ~ |
| 591 |
|
U+0039 DIGIT NINE の10文字のいずれかであるような連続した文字群をすべて集め、 |
| 592 |
|
この1文字以上の文字からなる文字列を <var |
| 593 |
|
title="">string</var> に代入します。 |
| 594 |
|
|
| 595 |
|
#en |
| 596 |
|
If <var title="">string</var> contains more than one U+002E FULL STOP |
| 597 |
|
character then return an error condition and abort these steps. |
| 598 |
|
#ja |
| 599 |
|
<var title="">string</var> が U+002E FULL STOP |
| 600 |
|
文字を複数含んでいる場合、誤り条件を返し、これらの段階を停止します。 |
| 601 |
|
|
| 602 |
|
#en |
| 603 |
|
Parse <var title="">string</var> according to the <a |
| 604 |
|
href="#rules1">rules for parsing floating point number values</a>, to |
| 605 |
|
obtain <var title="">number</var>. This step cannot fail (<var |
| 606 |
|
title="">string</var> is guaranteed to be a <a href="#valid1">valid |
| 607 |
|
floating point number</a>). |
| 608 |
|
#ja |
| 609 |
|
<var title="">string</var> を<a |
| 610 |
|
href="#rules1">浮動小数点数値を構文解析する規則</a>により構文解析し、 |
| 611 |
|
<var title="">number</var> を得ます。この段階は失敗しません (<var |
| 612 |
|
title="">string</var> は<a href="#valid1">妥当な浮動小数点数</a>であることが保証されています)。 |
| 613 |
|
|
| 614 |
|
#en |
| 615 |
|
Return <var title="">number</var>. |
| 616 |
|
#ja |
| 617 |
|
<var title="">number</var> を返します。 |
| 618 |
|
|
| 619 |
|
#pattern |
| 620 |
|
<span class=secno>* |
| 621 |
|
</span>Percentages and dimensions |
| 622 |
|
#ja |
| 623 |
|
<span class=secno>$1 |
| 624 |
|
</span>百分率と寸法 |
| 625 |
|
|
| 626 |
|
#pattern |
| 627 |
|
<span class=secno>* </span>Lists of integers |
| 628 |
|
#ja |
| 629 |
|
<span class=secno>$1 </span>整数のリスト |
| 630 |
|
|
| 631 |
|
#en |
| 632 |
|
A <dfn id=valid4>valid list of integers</dfn> is a number of <a |
| 633 |
|
href="#valid0" title="valid integer">valid integers</a> separated by |
| 634 |
|
U+002C COMMA characters, with no other characters (e.g. no <a |
| 635 |
|
href="#space" title="space character">space characters</a>). In addition, |
| 636 |
|
there might be restrictions on the number of integers that can be given, |
| 637 |
|
or on the range of values allowed. |
| 638 |
|
#ja |
| 639 |
|
<dfn id=valid4>妥当な整数の並び</dfn>は、 U+002C COMMA |
| 640 |
|
文字で分離された数々の<a |
| 641 |
|
href="#valid0" title="valid integer">妥当な整数</a>であって、 |
| 642 |
|
他の文字を含まない (例えば<a |
| 643 |
|
href="#space" title="space character">間隔文字</a>を含まない) ものです。 |
| 644 |
|
加えて、与えられる整数の数や認められる値の範囲に制限が設けられることがあります。 |
| 645 |
|
|
| 646 |
|
#en |
| 647 |
|
The <dfn id=rules3>rules for parsing a list of integers</dfn> are as |
| 648 |
|
follows: |
| 649 |
|
#ja |
| 650 |
|
<dfn id=rules3>整数のリストを構文解析する規則</dfn>は次の通りです。 |
| 651 |
|
|
| 652 |
|
#en |
| 653 |
|
Let <var title="">numbers</var> be an initially empty list of |
| 654 |
|
integers. This list will be the result of this algorithm. |
| 655 |
|
#ja |
| 656 |
|
<var title="">numbers</var> を、初期状態として、空の整数のリストとします。 |
| 657 |
|
このリストは、この算法の結果となります。 |
| 658 |
|
|
| 659 |
|
#en |
| 660 |
|
If there is a character in the string <var title="">input</var> at |
| 661 |
|
position <var title="">position</var>, and it is either a U+0020 SPACE, |
| 662 |
|
U+002C COMMA, or U+003B SEMICOLON character, then advance <var |
| 663 |
|
title="">position</var> to the next character in <var |
| 664 |
|
title="">input</var>, or to beyond the end of the string if there are no |
| 665 |
|
more characters. |
| 666 |
|
#ja |
| 667 |
|
文字列 <var title="">input</var> の位置 <var title="">position</var> |
| 668 |
|
に文字があり、これが U+0020 SPACE、U+002C COMMA、 U+003B SEMICOLON |
| 669 |
|
のいずれかの文字であれば、 <var |
| 670 |
|
title="">position</var> を <var |
| 671 |
|
title="">input</var> 中の次の文字に進めるか、それ以上文字がないのであれば文字列の終わりを過ぎたとします。 |
| 672 |
|
|
| 673 |
|
#en |
| 674 |
|
Advance <var |
| 675 |
|
title="">position</var> to the next character in <var |
| 676 |
|
title="">input</var>, or to beyond the end of the string if there are no |
| 677 |
|
more characters. |
| 678 |
|
#ja |
| 679 |
|
<var |
| 680 |
|
title="">position</var> を <var |
| 681 |
|
title="">input</var> 中の次の文字に進めるか、それ以上文字がないのであれば文字列の終わりを過ぎたとします。 |
| 682 |
|
|
| 683 |
|
#en |
| 684 |
|
If <var title="">position</var> points to beyond the end of <var |
| 685 |
|
title="">input</var>, return <var title="">numbers</var> and abort. |
| 686 |
|
#ja |
| 687 |
|
<var title="">position</var> が <var |
| 688 |
|
title="">input</var> の終わりを過ぎた先を指していれば、 |
| 689 |
|
<var title="">numbers</var> を返し、停止します。 |
| 690 |
|
|
| 691 |
|
#en |
| 692 |
|
If the character in the string <var title="">input</var> at position |
| 693 |
|
<var title="">position</var> is a U+0020 SPACE, U+002C COMMA, or U+003B |
| 694 |
|
SEMICOLON character, then return to step 4. |
| 695 |
|
#ja |
| 696 |
|
文字列 <var title="">input</var> の位置 <var title="">position</var> |
| 697 |
|
が U+0020 SPACE、U+002C COMMA、U+003B |
| 698 |
|
SEMICOLON のいずれかの文字であれば、段階 4 に戻ります。 |
| 699 |
|
|
| 700 |
|
#en |
| 701 |
|
Let <var title="">value</var> be 0. |
| 702 |
|
#ja |
| 703 |
|
<var title="">value</var> を 0 とします。 |
| 704 |
|
|
| 705 |
|
#en |
| 706 |
|
Let <var title="">started</var> be false. This variable is set to true |
| 707 |
|
when the parser sees a number or a "<code title="">-</code>" character. |
| 708 |
|
#ja |
| 709 |
|
<var title="">started</var> を偽とします。この変数は、 |
| 710 |
|
構文解析器が数か「<code title="">-</code>」文字を見たときに真に設定されます。 |
| 711 |
|
|
| 712 |
|
#en |
| 713 |
|
Let <var title="">got number</var> be false. This variable is set to |
| 714 |
|
true when the parser sees a number. |
| 715 |
|
#ja |
| 716 |
|
<var title="">got number</var> を偽とします。この変数は構文解析器が数を見たときに真に設定されます。 |
| 717 |
|
|
| 718 |
|
#en |
| 719 |
|
Let <var title="">finished</var> be false. This variable is set to |
| 720 |
|
true to switch parser into a mode where it ignores characters until the |
| 721 |
|
next separator. |
| 722 |
|
#ja |
| 723 |
|
<var title="">finished</var> を偽とします。この変数は構文解析器が次の分離子まで文字を無視するモードに切り替わったとき真に設定されます。 |
| 724 |
|
|
| 725 |
|
#en |
| 726 |
|
<em>Parser:</em> If the character in the string <var |
| 727 |
|
title="">input</var> at position <var title="">position</var> is: |
| 728 |
|
#ja |
| 729 |
|
<em>構文解析器:</em> 文字列 <var |
| 730 |
|
title="">input</var> 位置 <var title="">position</var> |
| 731 |
|
の文字が、 |
| 732 |
|
|
| 733 |
|
#en |
| 734 |
|
A U+002D HYPHEN-MINUS character |
| 735 |
|
#ja |
| 736 |
|
U+002D HYPHEN-MINUS 文字の場合 |
| 737 |
|
|
| 738 |
|
#en |
| 739 |
|
Follow these substeps: |
| 740 |
|
#ja |
| 741 |
|
次の部分段階に従います。 |
| 742 |
|
|
| 743 |
|
#en |
| 744 |
|
If <var title="">got number</var> is true, let <var |
| 745 |
|
title="">finished</var> be true. |
| 746 |
|
#ja |
| 747 |
|
<var title="">got number</var> が真である場合、 <var |
| 748 |
|
title="">finished</var> を真とします。 |
| 749 |
|
|
| 750 |
|
#en |
| 751 |
|
If <var title="">finished</var> is true, skip to the next step in |
| 752 |
|
the overall set of steps. |
| 753 |
|
#ja |
| 754 |
|
<var title="">finished</var> が真であれる場合、全体の段階の集合のうちの次の段階に飛びます。 |
| 755 |
|
|
| 756 |
|
#en |
| 757 |
|
If <var title="">started</var> is true, let <var |
| 758 |
|
title="">negated</var> be false. |
| 759 |
|
#ja |
| 760 |
|
<var title="">started</var> が真である場合、 <var |
| 761 |
|
title="">negated</var> を偽とします。 |
| 762 |
|
|
| 763 |
|
#en |
| 764 |
|
Otherwise, if <var title="">started</var> is false and if <var |
| 765 |
|
title="">bogus</var> is false, let <var title="">negated</var> be |
| 766 |
|
true. |
| 767 |
|
#ja |
| 768 |
|
そうでない場合、<var title="">started</var> が偽であり、 <var |
| 769 |
|
title="">bogus</var> が偽である場合、 <var title="">negated</var> |
| 770 |
|
を真とします。 |
| 771 |
|
|
| 772 |
|
#en |
| 773 |
|
Let <var title="">started</var> be true. |
| 774 |
|
#ja |
| 775 |
|
<var title="">started</var> を真とします。 |
| 776 |
|
|
| 777 |
|
#en |
| 778 |
|
A character in the range U+0030 DIGIT ZERO .. U+0039 DIGIT NINE |
| 779 |
|
#ja |
| 780 |
|
範囲 U+0030 DIGIT ZERO ~ U+0039 DIGIT NINE の文字の場合 |
| 781 |
|
|
| 782 |
|
#en |
| 783 |
|
Add the value of the digit, interpreted in base ten, to <var |
| 784 |
|
title="">value</var>. |
| 785 |
|
#ja |
| 786 |
|
数字を十進数で解釈した場合の値を <var |
| 787 |
|
title="">value</var> に加えます。 |
| 788 |
|
|
| 789 |
|
#en |
| 790 |
|
Let <var title="">got number</var> be true. |
| 791 |
|
#ja |
| 792 |
|
<var title="">got number</var> を真とします。 |
| 793 |
|
|
| 794 |
|
#en |
| 795 |
|
A U+0020 SPACE character |
| 796 |
|
#ja |
| 797 |
|
U+0020 SPACE 文字の場合 |
| 798 |
|
|
| 799 |
|
#en |
| 800 |
|
A U+002C COMMA character |
| 801 |
|
#ja |
| 802 |
|
U+002C COMMA 文字の場合 |
| 803 |
|
|
| 804 |
|
#en |
| 805 |
|
A U+003B SEMICOLON character |
| 806 |
|
#ja |
| 807 |
|
U+003B SEMICOLON 文字の場合 |
| 808 |
|
|
| 809 |
|
#en |
| 810 |
|
If <var title="">got number</var> is false, return the <var |
| 811 |
|
title="">numbers</var> list and abort. This happens if an entry in |
| 812 |
|
the list has no digits, as in "<code title="">1,2,x,4</code>". |
| 813 |
|
#ja |
| 814 |
|
<var title="">got number</var> が偽の場合、 <var |
| 815 |
|
title="">numbers</var> リストを返し、停止します。 |
| 816 |
|
これは、「<code title="">1,2,x,4</code>」のようにリスト中の項目が数字を持たない場合に起こります。 |
| 817 |
|
|
| 818 |
|
#en |
| 819 |
|
Return the <var |
| 820 |
|
title="">numbers</var> list and abort. |
| 821 |
|
#ja |
| 822 |
|
<var |
| 823 |
|
title="">numbers</var> リストを返し、停止します。 |
| 824 |
|
|
| 825 |
|
#en |
| 826 |
|
If <var title="">negated</var> is true, then negate <var |
| 827 |
|
title="">value</var>. |
| 828 |
|
#ja |
| 829 |
|
<var title="">negated</var> が真の場合、 <var |
| 830 |
|
title="">value</var> を負にします。 |
| 831 |
|
|
| 832 |
|
#en |
| 833 |
|
Append <var title="">value</var> to the <var |
| 834 |
|
title="">numbers</var> list. |
| 835 |
|
#ja |
| 836 |
|
<var title="">value</var> を <var |
| 837 |
|
title="">numbers</var> リストの末尾に追加します。 |
| 838 |
|
|
| 839 |
|
#en |
| 840 |
|
Jump to step 4 in the overall set of steps. |
| 841 |
|
#ja |
| 842 |
|
全体の段階の集合のうちの段階 4 に飛びます。 |
| 843 |
|
|
| 844 |
|
#en |
| 845 |
|
A U+002E FULL STOP character |
| 846 |
|
#ja |
| 847 |
|
U+002E FULL STOP 文字の場合 |
| 848 |
|
|
| 849 |
|
#en |
| 850 |
|
Any other character |
| 851 |
|
#ja |
| 852 |
|
その他の文字の場合 |
| 853 |
|
|
| 854 |
|
#en |
| 855 |
|
Let <var title="">bogus</var> be true. |
| 856 |
|
#ja |
| 857 |
|
<var title="">bogus</var> を真とします。 |
| 858 |
|
|
| 859 |
|
#en |
| 860 |
|
If <var title="">started</var> is true, then return the <var |
| 861 |
|
title="">numbers</var> list, and abort. (The value in <var |
| 862 |
|
title="">value</var> is not appended to the list first; it is |
| 863 |
|
dropped.) |
| 864 |
|
#ja |
| 865 |
|
<var title="">started</var> が真の場合、 <var |
| 866 |
|
title="">numbers</var> リストを返し、停止します。 |
| 867 |
|
(<var |
| 868 |
|
title="">value</var> の値はリストに最初に追加されてはいません。 |
| 869 |
|
捨てられます。) |
| 870 |
|
|
| 871 |
|
#en |
| 872 |
|
If <var title="">position</var> points to a character (and not to |
| 873 |
|
beyond the end of <var title="">input</var>), jump to the big |
| 874 |
|
<em>Parser</em> step above. |
| 875 |
|
#ja |
| 876 |
|
<var title="">position</var> が文字を指す場合 (で |
| 877 |
|
<var title="">input</var> の終わりを過ぎていない場合)、 |
| 878 |
|
先の大段階<em>構文解析器</em>に飛びます。 |
| 879 |
|
|
| 880 |
|
#pattern |
| 881 |
|
<span class=secno>* </span>Dates and times |
| 882 |
|
#ja |
| 883 |
|
<span class=secno>$1 </span>日付と時刻 |
| 884 |
|
|
| 885 |
|
#en |
| 886 |
|
In the algorithms below, the <dfn id=number>number of days in month <var |
| 887 |
|
title="">month</var> of year <var title="">year</var></dfn> is: |
| 888 |
|
<em>31</em> if <var title="">month</var> is 1, 3, 5, 7, 8, 10, or 12; |
| 889 |
|
<em>30</em> if <var title="">month</var> is 4, 6, 9, or 11; <em>29</em> if |
| 890 |
|
<var title="">month</var> is 2 and <var title="">year</var> is a number |
| 891 |
|
divisible by 400, or if <var title="">year</var> is a number divisible by |
| 892 |
|
4 but not by 100; and <em>28</em> otherwise. This takes into account leap |
| 893 |
|
years in the Gregorian calendar. <a href="#refsGREGORIAN">[GREGORIAN]</a> |
| 894 |
|
#ja |
| 895 |
|
後述の算法において、<dfn id=number>年 <var title="">year</var> の月 <var |
| 896 |
|
title="">month</var> の日の数</dfn>は、 |
| 897 |
|
<var title="">month</var> が 1、3、5、7、8、10、12 のいずれかであれば |
| 898 |
|
<em>31</em>、 |
| 899 |
|
<var title="">month</var> が 4、6、9、11 のいずれかであれば |
| 900 |
|
<em>30</em>、 |
| 901 |
|
<var title="">month</var> が 2 で <var title="">year</var> が |
| 902 |
|
400 で割り切れる数であるか、 <var title="">year</var> が 4 で割り切れるものの 100 |
| 903 |
|
では割り切れない数であれば <em>29</em>、 |
| 904 |
|
いずれでもなければ <em>28</em> です。これはグレゴリオ暦の閏年を考慮しています。 |
| 905 |
|
<a href="#refsGREGORIAN">[GREGORIAN]</a> |
| 906 |
|
|
| 907 |
|
#pattern |
| 908 |
|
<span class=secno>* </span>Specific moments in time |
| 909 |
|
#ja |
| 910 |
|
<span class=secno>$1 </span>特定の時刻 |
| 911 |
|
|
| 912 |
|
#en |
| 913 |
|
A string is a <dfn id=valid5>valid datetime</dfn> if it has four digits |
| 914 |
|
(representing the year), a literal hyphen, two digits (representing the |
| 915 |
|
month), a literal hyphen, two digits (representing the day), optionally |
| 916 |
|
some spaces, either a literal T or a space, optionally some more spaces, |
| 917 |
|
two digits (for the hour), a colon, two digits (the minutes), optionally |
| 918 |
|
the seconds (which, if included, must consist of another colon, two digits |
| 919 |
|
(the integer part of the seconds), and optionally a decimal point followed |
| 920 |
|
by one or more digits (for the fractional part of the seconds)), |
| 921 |
|
optionally some spaces, and finally either a literal Z (indicating the |
| 922 |
|
time zone is UTC), or, a plus sign or a minus sign followed by two digits, |
| 923 |
|
a colon, and two digits (for the sign, the hours and minutes of the |
| 924 |
|
timezone offset respectively); with the month-day combination being a |
| 925 |
|
valid date in the given year according to the Gregorian calendar, the hour |
| 926 |
|
values (<var title="">h</var>) being in the range 0 ≤ <var |
| 927 |
|
title="">h</var> ≤ 23, the minute values (<var |
| 928 |
|
title="">m</var>) in the range 0 ≤ <var |
| 929 |
|
title="">m</var> ≤ 59, and the second value (<var |
| 930 |
|
title="">s</var>) being in the range 0 ≤ <var |
| 931 |
|
title="">h</var> < 60. <a |
| 932 |
|
href="#refsGREGORIAN">[GREGORIAN]</a> |
| 933 |
|
#ja |
| 934 |
|
文字列が<dfn id=valid5>妥当な日時</dfn>であるとは、4つの数字 |
| 935 |
|
(年を表します。)、ハイフン文字、2つの数字 (月を表します。)、 |
| 936 |
|
ハイフン文字、2つの数字 (日を表します。)、任意選択でいくらかの間隔、 |
| 937 |
|
文字 T または間隔、任意選択でいくらかの間隔、 |
| 938 |
|
2つの数字 (時)、コロン、2つの数字 (分)、 |
| 939 |
|
任意選択で秒 (これが含まれる場合、再度コロンの後に2つの数字 |
| 940 |
|
(秒の整数部)、任意選択で小数点の後に1つ以上の数字 (秒の小数部) |
| 941 |
|
で構成されなければ[[MUST:なりません]]。)、 |
| 942 |
|
任意選択でいくらかの間隔、そして最後に Z 文字 (時間帯が UTC であることを示します。) |
| 943 |
|
か、または正符号か負符号、2つの数字、コロン、2つの数字 (それぞれ時差の符号、 |
| 944 |
|
時、分) の並びのいずれか、これらを持つことをいいます。 |
| 945 |
|
ただし、月と日の組み合わせが当該年のグレゴリオ暦に照らして妥当な日付であり、 |
| 946 |
|
時の値 (<var title="">h</var>) が範囲 0 ≤ <var |
| 947 |
|
title="">h</var> ≤ 23 に、分の値 (<var |
| 948 |
|
title="">m</var>) が範囲 0 ≤ <var |
| 949 |
|
title="">m</var> ≤ 59 に、秒の値 (<var |
| 950 |
|
title="">s</var>) が範囲 0 ≤ <var |
| 951 |
|
title="">h</var> < 60 にあることとします。 <a |
| 952 |
|
href="#refsGREGORIAN">[GREGORIAN]</a> |
| 953 |
|
|