完全正規化

完全正規化

[46] 完全正規化済み (fully-normalized) とは、XML文書NFC で、名前文字データなどの先頭が合成文字合成文字文字参照でないことをいいます。

仕様書

定義

[4] テキスト完全正規化済み (fully-normalized) であるとは、次のいずれか指します >>3

[7] ある言語における >>5 の「構造」とされる単位のことを関係する構造と呼んでいます。

Charmod における完全正規化済みテキスト

[9] Charmod に適合する仕様書やそのデータや実装は次のことを要求されています >>8

[19] Charmodstring identity matching においても完全正規化済み形を求めています。

[20] この要件に素直に従うとほとんどすべての文字列操作の直後に正規化しなければならず、 流石にそんな要求に従っている仕様書も実装もありません。完全正規化済みなる概念自体が W3C のごく一部の仕様書以外ではほとんど無視されています。

XML 1.1 における完全正規化済み形

[23] XML 1.1Charmodコピペにより同等の「完全正規化済み」を独自に定義しています >>22

[25] XML 1.1 構文解析対象実体完全正規化済みであるべきです >>24。 ここで関連する構造は次のものです >>24

[32] XML 1.1XML処理器利用者完全正規化済み形かどうか検査する選択肢を提供するべきです >>24。検査しない選択肢は、入力が certified text の時だけ選ぶべきです >>24

[33] >>32 後半は利用者に対する適合性???

[34] 妥当性を検証しない XML処理器は、読んでいない外部実体取り込みによって起こり得る正規化の崩れは無視しなければなりません >>24

[35] 新しいUnicodeの版文字など正規化の特性を決定できない文字がある時は、 利用者の任意選択により、それによる正規化の崩れを無視して構いません。 信頼性やセキュリティーが重要な時はこれを選ぶべきではありません>>24

[36] XML処理器は入力を完全正規化済み形に変形してはなりませんXML 1.1 文書を作る応用は出力を完全正規化済みにするべきです>>24

[37] 正規化転符号化器を使うべきです >>24

XML 1.0 における完全正規化済み形

[39] 完全正規化済み形に関する規定は XML 1.1 の変更点として扱われていて、 XML 1.0 には追加されていませんでした。その後、事実上 XML 1.1 を廃止するものとして XML 1.0 5e が出版されましたが、完全正規化済み形の規定は含まれないままでした。

[40] しかし2009年9月になって正誤表 >>38 によって完全正規化済みが「復活」しました。

[41] XML 1.1 の規定とは違って簡潔で、コピペではなく CharmodCR を参照しています。 「Note」なのに SHOULD を含むという不思議な形になっています。

[42] XML の仕様書では Note も normative なようです。

[43] XML 1.1 とは違って関連する構造が何なのか定義されていません。

[44] XML 1.0 構文解析対象実体完全正規化済みであるべきです >>38

[45] XML 1.0XML処理器完全正規化済みか検査して構いません >>38

XDM における完全正規化済みテキスト

[1] XPath and XQuery Functions and Operators 3.0 ( ( 版)) http://www.w3.org/TR/xpath-functions-3/#func-normalize-unicode

[2] XSLT and XQuery Serialization 3.0 ( ( 版)) http://www.w3.org/TR/xslt-xquery-serialization-3/#XML_NORMALIZATION-FORM

[21] Extensible Markup Language (XML) 1.1 (Second Edition) ( ( 版)) http://www.w3.org/TR/2006/REC-xml11-20060816/#sec-CharNorm

[47] XPath and XQuery Functions and Operators 3.1 () https://www.w3.org/TR/2017/REC-xpath-functions-31-20170321/#func-normalize-unicode

[48] XSLT and XQuery Serialization 3.1 () https://www.w3.org/TR/2017/REC-xslt-xquery-serialization-31-20170321/#XML_NORMALIZATION-FORM

メモ