[4] [[XML宣言]]の [DFN[[CODE(XMLa)@en[[[standalone]]]]]] [[擬似属性]] 
(正式には[DFN[[RUBYB[単独文書宣言]@en[standalone document declaration]]]]) は、その[[文書]]の[[内容]]や[[属性]]を[[外部部分集合実体]]や[[引数実体]]を処理せずに決定できるか否かを表します。

* 仕様書

[REFS[
- [3] [CITE@EN[Extensible Markup Language (XML) 1.0 (Fifth Edition)]] ([TIME[2013-05-28 20:49:56 +09:00]] 版) <http://www.w3.org/TR/xml/#sec-rmd>
]REFS]

* 属性値

[5] 値 [DFN[[CODE(XML)@en[[[yes]]]]]] は、 [[XML処理器]]から[[応用]]に対して渡される情報に影響するような[[外部マーク付け宣言]]がないことを示します
[SRC[>>3]]。

[6] 値 [DFN[[CODE(XML)@en[[[no]]]]]] は、[[XML処理器]]から[[応用]]に対して渡される情報に影響するような[[外部マーク付け宣言]]があるかもしれないことを示します
[SRC[>>3]]。

[12] [[単独文書宣言]]がないときは、 [CODE(XML)@en[[[no]]]] とみなします [SRC[>>3]]。

;; [7] あるかもしれないだけで、なくても構いません。

[8] ここで問題とされているのは、[[外部マーク付け宣言]]の有無です。従って、
- [9] [[内部部分集合]]に[[宣言]]があるか否かは影響しません。
- [10] [[実体宣言]]の種類は影響しません。[[内部部分集合]]に[[宣言]]があれば、そこで[[宣言]]されているのが[[外部実体]]であっても構いません。

[11] >>5 と >>6 の説明だけを読むと[[宣言]]の存在自体が表現されており、それが参照・利用されるかどうかは無関係なように思えますが、
>>13 の[[妥当性制約]] (とそれ以外の[[要件]]の欠如より) 参照、利用されていない限り[[外部マーク付け宣言]]があっても「影響するような」に該当せず、
[CODE(XML)@en[[[yes]]]] とできるようです。

* 妥当性制約: 単独文書宣言

[13] [[妥当性制約]]「[DFN[[RUBYB[単独文書宣言]@en[Standalone Document Declaration]]]]」は次のような要件となっています
[SRC[>>3]]。
>
いずれかの[[外部マーク付け宣言]]が次のような[[宣言]]を含んでいるなら、[[単独文書宣言]]は値
[CODE(XML)@en[[[no]]]] を持たなければ[['''なりません''']]。
- [14] [[属性]]の[[既定値]]の[[宣言]]であって、その[[属性]]が適用される[[要素]]が[[文書]]中に現れ、
当該[[属性]]の値が指定されていない場合
- [15] [[定義済み実体]]以外の[[実体]]の[[宣言]]であって、[[文書]]中で[[参照]]されているもの
- [16] 字句化される型を持つ[[属性]]の[[宣言]]であって、[[文書]]中にその[[属性]]が現れ、
[[宣言]]がなかったとしたら違った値に[[正規化]]される場合
- [17] [[要素内容]]を持つ[[要素型]]の[[宣言]]であって、その[[実現値]]たる[[要素]]の中に[[空白]]が直接現れる場合

;; [18] [[文書要素]]とその[[子孫]]での利用についてが対象とされており、[[DTD]] の情報は対象外となっているようです。
例えば[[属性定義並び宣言]]の[[既定値]]の中に[[実体参照]]があり、それが[[外部マーク付け宣言]]により[[宣言]]されていても、
[CODE(XML)@en[[[yes]]]] とできそうです。

;; [19] [[記法宣言]]や[[引数実体宣言]]は直接影響しないようです。

* 不思議解釈

[1]
[CITE[XML - Extensible Markup Language]] ([TIME[2007-03-10 11:04:55 +09:00]] 版) <http://msugai.fc2web.com/web/XHTML11/xml.html>

>
当該の XML 文書が則るべき DTD の有無を指定します。あれば no、無ければ yes とします。
>
参照する DTD は後続の DTD 宣言で識別しますが、この DTD に照らして適正な文書は、「妥当 (valid) な文書」だと云われます。この妥当性の検証は、情報の交換、共有時には絶対に必要なことです。
>
XHTML の場合は、参照すべき DTD が W3C から提供されていますから、 standalone="no" です。

意味不明。

* メモ

[2] [CITE@en[RFC 6120 - Extensible Messaging and Presence Protocol (XMPP): Core]]
( ([TIME[2011-03-31 08:23:45 +09:00]] 版))
<http://tools.ietf.org/html/rfc6120#section-11.5>

[FIG(quote)[
[FIGCAPTION[
[20] [CITE[Installable Web Apps with the WebApp Manifest in Chrome for Android | Web Updates - Google Developers]]
([TIME[2015-12-11 00:47:54 +09:00]] 版)
<https://developers.google.com/web/updates/2014/11/Support-for-installable-web-apps-with-webapp-manifest-in-chrome-38-for-Android>
]FIGCAPTION]

> On iOS you can use navigator.standalone to see if it is running like a native app, but we don’t have this on Chrome for Android.

]FIG]


[FIG(quote)[
[FIGCAPTION[
[21] ([TIME[2018-03-14 23:04:13 +09:00]])
<https://hojin-info.go.jp/hojin/common/data/HojinInfoRss.xml>
]FIGCAPTION]

> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> <rss version="2.0">

]FIG]

[CODE[no][standalone=no]] である要因はまったく見当たらず・・・