/
625.txt
50 lines (39 loc) · 3.79 KB
/
625.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
* 仕様書
[REFS[
- [3] '''[CITE@en[Character Model for the World Wide Web 1.0: Normalization]] ([TIME[2012-04-27 11:15:23 +09:00]] 版) <http://www.w3.org/TR/charmod-norm/#sec-FullyNormalized>'''
- [8] [CITE@en[Character Model for the World Wide Web 1.0: Normalization]] ([TIME[2012-04-27 11:15:23 +09:00]] 版) <http://www.w3.org/TR/charmod-norm/#sec-NormalizationApplication>
]REFS]
* 定義
[4] [[テキスト]]が[DFN[[RUBYB[[[完全正規化済み]]]@en[fully-normalized]]]]であるとは、次のいずれか指します [SRC[>>3]]。
- [5] [[テキスト]]が[[Unicode符号化形]]であり、[[取り込み正規化済み]]であり、
[[合成文字]]や[[合成文字]]を表す[[文字エスケープ]]で始まる[[テキスト]]から成る[[構造]]を含まない
- [6] [[テキスト]]が[[レガシー符号化]]されており、[[正規化転符号化器]]で[[Unicode符号化形]]に[[転符号化]]したら
>>5 を満たす
[7] ある[[言語]]における >>5 の「[[構造]]」とされる単位のことを[[関係する構造]]と呼んでいます。
* Charmod における完全正規化済みテキスト
[9] [[Charmod]] に適合する仕様書やそのデータや実装は次のことを要求されています [SRC[>>8]]。
[FIG[
- [10] [[テキスト]]は[[完全正規化済み]]である[['''べきです''']]。そうでなくても[[取り込み正規化済み]]である[['''べきです''']]。
- [11] 構文定義は[[完全正規化済み]]または[[取り込み正規化済み]]を要求する[['''べきです''']]。
>>5 の[[構造]]の境界を正確に定義する[['''べきです''']]。
- [12] [[suspect text]] は[[完全正規化済み]]または[[取り込み正規化済み]]にしてからでないと [[normalization-sensitive]]
な操作を適用しては[['''なりません''']]し、 [[normalization-sensitive]] な操作の直後にも同じく[[正規化]]しなければ[['''なりません''']]。
- [13] [[完全正規化済み]]が要求されなくても、[[著者]]は[[構造]]の先頭に[[合成文字]]を使う[['''べきではありません''']]。
- [14] [[正規化転符号化器]]を使う[['''べきです''']]。
- [15] [[API]] は[[完全正規化済み]]または[[取り込み正規化済み]]にする責任をもつのが呼び出し元か呼ばれた先のどちらか定義しなければ[['''なりません''']]し、
任意選択とするなら行う方を既定値とする[['''べきです''']]。
- [16] 最終的な出力が[[完全正規化済み]]または[[取り込み正規化済み]]であることを要求する[['''べきです''']]。
- [17] 仕様書や実装が以上の条件に違反する時は、明記しなければ[['''なりません''']]。
- [18] 仕様書は[[完全正規化済み]]や[[取り込み正規化済み]]に関わる[[セキュリティー]]上の既知の問題を記載しなければ[['''なりません''']]。
]FIG]
[19] [[Charmod]] は [[string identity matching]] においても[[完全正規化済み]]形を求めています。
;; [20] この要件に素直に従うとほとんどすべての文字列操作の直後に[[正規化]]しなければならず、
流石にそんな要求に従っている仕様書も実装もありません。[[完全正規化済み]]なる概念自体が [[W3C]]
のごく一部の仕様書以外ではほとんど無視されています。
* XDM における完全正規化済みテキスト
[1] [CITE@EN[XPath and XQuery Functions and Operators 3.0]]
( ([TIME[2014-04-08 07:02:07 +09:00]] 版))
<http://www.w3.org/TR/xpath-functions-3/#func-normalize-unicode>
[2] [CITE@en[XSLT and XQuery Serialization 3.0]]
( ([TIME[2014-04-07 23:19:15 +09:00]] 版))
<http://www.w3.org/TR/xslt-xquery-serialization-3/#XML_NORMALIZATION-FORM>