[6] [DFN[[RUBYB[[[外来マーク付け]]]@en[foreign markup]]]]は、 [[Atom]] において [[Atom]] 以外の[[マーク付け]]を指します。 * 仕様書 -[5] [CITE@en[RFC 4287 - The Atom Syndication Format]] ([TIME[2009-08-20 17:27:51 +09:00]] 版) - [2] [CITE@en[RFC 5023 - The Atom Publishing Protocol]] ([TIME[2008-11-20 18:52:14 +09:00]] 版) * 文書の要件 [7] [[Atom文書]]は[[外来マーク付け]]を含めることができます。特に [CODE(XMLe)@en[[[atom:content]]]] [[要素]]は任意の[[外来マーク付け]]を含められるようになっています。 [SRC[[[RFC 4287]] 6.1.]] [1] [[AtomPub文書]]中の認識できない[[マーク付け]]は [[Atom 1.0]] の[[外来マーク付け]]とみなします。[[外来マーク付け]]は、 [[分類文書]]と[[サービス文書]]の中の明示的に禁じられていない任意の場所で用いることができます。 [SRC@en[[[AtomPub]]]] * 処理モデル [9] [[Atom処理器]]は、[[外来マーク付け]]が認められている場所で[[外来マーク付け]]を見つけても処理を停止しては[['''なりません''']]し、[[誤り]]を通知しては[['''なりません''']]。 [SRC@en[[[RFC 4287]] 6.3.]] [3] [[処理器]]は、[[外来マーク付け]]で処理を停止しては[['''なりません''']]し、[[誤り]]を通知しては[['''なりません''']]。 [SRC@en[[[AtomPub]]]] [10] [[Atom処理器]]は[[外来マーク付け]]を処理できるかもしれませんが、処理できないものは[DFN[[RUBYB[未知外来マーク付け]@en[unknown foreign markup]]]]といいます。 [SRC@en[[[RFC 4287]] 6.3.]] [11] [CODE(XMLe)@en[[[atom:entry]]]] [[要素]]、 [CODE(XMLe)@en[[[atom:feed]]]] [[要素]]、[[Person construct]] の[[子要素]]の[[未知外来マーク付け]]に関しては、 それらおよびその[RUBYB[[[文字内容]]]@en[textual content]]を読み飛ばして[['''構わず''']]、 [[マーク付け]]があるからといって動作を変更しては[['''なりません''']]。 [SRC@en[[[RFC 4287]] 6.3.]] [12] [CODE(XMLe)@en[[[atom:content]]]] [[要素]]や [[Text construct]] で[[未知外来マーク付け]]があったときは、その[[マーク付け]]を無視してその[RUBYB[[[文字内容]]]@en[textual content]]だけがあったかのように処理する[['''べきです'''。 [SRC@en[[[RFC 4287]] 6.3.]] [8] [[クライアント]]は[[文書]]の[[転送]]にあたって[[外来マーク付け]]を保持する[['''べきです''']]。 [SRC@en[[[AtomPub]]]] [4] [CODE(URI)@en[[[http://www.w3.org/2005/Atom]]]] [[名前空間]]、 [CODE(URI)@en[[[http://www.w3.org/2007/app]]]] [[名前空間]]は将来の拡張のために予約されていますが、 この[[名前空間]]の[[要素]]や[[属性]]であっても、 認識できない[[マーク付け]]は[[外来マーク付け]]として扱わなければ[['''なりません''']] [SRC@en[[[RFC 4287]] 6.2.、[[AtomPub]]]]。 * 拡張要素 [13] [[外部マーク付け]]は、特に禁じられている箇所以外の [[Atom文書]]のあらゆるところで認められていますが、 [[意味]]が定義されているのは >>14 の場合だけで、それ以外の[[外部マーク付け]]の[[意味]]は未定義となっています。 [SRC[[[RFC 4287]] 6.4.]] [14] [CODE(XMLe)@en[[[atom:feed]]]]、[CODE(XMLe)@en[[[atom:entry]]]]、 [CODE(XMLe)@en[[[atom:source]]]]、[[Person construct]] の各[[要素]]の[[子要素]]は [[Metadata要素]]であり、[[単純拡張要素]]または[[構造化拡張要素]]です。 [SRC[[[RFC 4287]] 6.4.]] [15] [[RELAX NG]] [[スキーマ]] ([[参考]]) によると[[単純拡張要素]]と[[構造化拡張要素]]の総称が [DFN[[CODE(XML)@en[[[extensionElement]]]]]] です。 [SRC[[[RFC 4287]] 6.4.]] ([[規定]]の部分では「[RUBYB[[[拡張要素]]]@en[extension element]]」の定義は明記されていません。)