well-formed

well-formed

[11] 整形式 (せいけいしき) (well-formed) とは、適合性の一種で、ある文字列ないしオクテット列が仕様に照らしてある程度正しいことをいいます。 特に限定がない場合は、 XML の仕様に照らして構文的に正しいことをいいます。

[12] 「well-formed」という用語が XML 以前に存在したかは定かではありませんが、 XML によって導入され、広く知られるようになりました。 XML 以外の仕様でも「well-formed」という概念を採用するものもでてきました。

[13] 「整形式」という訳語は、 XML の「well-formed」に当てる日本語として作られ、 他の候補を退け広く採用されるに至りました。「整形・式」ではなく「整・形式」とされています。

XML における整形式

[14] XML における文書の適合性は、整形式妥当の2段階に分かれており、 整形式DTD に依存しない、より基本的な適合性となっています。 XML であることと整形式であることは等しいとされています。

[5] [XML文書の定義]

[定義: あるデータ物体は、この仕様書で定義された整形式である時、XML文書 (XML document) である。整形式XML文書は更に制約を満たすとき妥当でもあって構わない。]

[6] [整形式XML文書の定義]

[定義: あるテキスト物体は、次の条件を満たせば、整形式 (せいけいしき) (well-formed) XML文書である。]

[7] >>5-6 より、すべてのXML文書整形式である。 しかし、誤りの定義により、整形式XML文書XML仕様書にすべて従っているとは限らない。 妥当の定義より、整形式XML文書妥当とは限らない。 完全正規化の定義より、整形式XML文書完全正規化済みとは限らない。

[8] [実体の整形式性]

[4]

整形式 (well-formed)
文書は、 XML 1.0 勧告の2.1節で定義された規則に従って構造化されている時、 整形式です。

仕様書:

[9]

整形式
節点整形式 (せいけいしき) (well-formed) XML 節点であるとは、その直列化形が、 直列化中に変形を行うことなく相当する XML 1.0 または XML 1.1 (使用している XMLに依存します。) の生成規則とそれに関連するすべての整形式制約一致し、 かつその節点中で参照されている実体もまた整形式であることをいう。 XML名前空間を使用している場合、 節点名前空間整形式でもなければならない。

[1] 廃れた well-formed の訳語:

[22] XML の想定としては、整形式でないものは XML文書ではないとされています。 しかし現実にはそうではありません。 整形式ではないXML文書はありふれており (非整形式XML参照)、 整形式でないものをどう処理するかは定められていないものの、 明確に定めるべきという考えもあります (XML5 参照)。

[3] 整形式を、非妥当だが XML として適切の意味で使う人がいるんですね。困ったもんだ。 (名無しさん 2004-07-31 08:20:39 +00:00)

[10] Bug 174351 – Encoding errors aren't treated as fatal XML errors ( 版) https://bugzilla.mozilla.org/show_bug.cgi?id=174351

XML 名前空間における整形式

[15] 名前空間整形式を参照。

[16] XML を用いるほとんどの場合は XML名前空間をも用いるため、整形式名前空間整形式は、 事実上同義とみなされています。

その他の整形式

[17] 次の構文にも「整形式」が定義されています。

[23] UTF-7 の仕様書に ill-formed という語が使われていました。 定義がないので用語ではなく普通の表現としてでした。

歴史

[19] IP (1981年) では「well-formed datagrams」という表現がありますが、 用語としてではなく普通の表現として用いられているようです。

[20] CSV on the Web: Use Cases and Requirements ( 版) https://www.w3.org/TR/2016/NOTE-csvw-ucr-20160225/#R-WellFormedCsvCheck

[21] Serialize non-well-formed documents too (annevk著, ) https://github.com/whatwg/xhr/commit/59c9cd9ae31fc8fafd1c327f2d2a1ca1e88da28f