[10] [[ISO/IEC 10744]] の附属書で定義されている [[SGML]] の[DFN[[RUBYB[一般体系][General Architecture]]]]は、 色々な[[SGML応用]]で使用することができる[[体系]]です。 この体系には、[[属性]]の[[既定値]]を [[DTD]] より柔軟に指定したり、[[要素属性]]として[[データ属性]]を記述したり、 [[記法]]の継承関係を記述したり、[[要素]]の[[字句型]]を指定したりといった、 [[素のSGML]] にない基本的な機能を補う形になっています。 [1] 仕様書: - [[ISO/IEC 10744]]:1997 -- [CSECTION[A.5 General Architecture]] --[CSECTION[C.3 General Architecture Meta-Declarations]] * 適合性 [2] 一般体系文書は、 [[ISO 8879]] による[[適合SGML文書]]であり、 かつ ISO/IEC 10744:1997 附属書A の規定に従う時、 [DFN[[RUBYB[適合一般体系文書][conforming General Architecture document]]]]です。 [SRC[ISO/IEC 10744:1997 A.5.8.1]] 適合一般体系文書は ISO/IEC 10744:1997 A.5.8.1.1 の一般体系宣言を使っている時、[DFN[[RUBYB[最小適合一般体系文書][minimal comforming General Architecture document]]]]です。 [3] 一般体系応用は、 [[ISO 8879]] による[[適合SGML応用]]であり、 かつ次の条件を満たす時、 [DFN[[RUBYB[適合一般体系応用][conforming General Architecture application]]]]です。 [SRC[ISO/IEC 10744:1997 A.5.8.2]] - 応用は、仕様が応用に委ねている部分の規約 (例えば[[要素型名]]) のみ規定できます。 [SRC[ISO/IEC 10744:1997 A.5.8.2.1]] - 応用は、文書が適合一般体系文書であることを要求しなければなりません。 [SRC[ISO/IEC 10744:1997 A.5.8.2.2]] - 応用は、仕様が認める[[マーク]]を禁止してはいけません。 [WEAK[(特定の[[マーク最小化]]だけを使うことを推奨しても構いませんが、それ以外を禁止してはいけません。)]] [SRC[ISO/IEC 10744:1997 A.5.8.2.2]] - 応用の[[文書化物]]は [CSECTION[11.5 Documentation requirements]] の規定に従わなければなりません。 [SRC[ISO/IEC 10744:1997 A.5.8.2.3]] [5] 一般体系システムは、[[適合SGMLシステム]]であり、 次の条件を満たす時、[DFN[[RUBYB[適合一般体系システム][conforming General Architecture system]]]]です。 [SRC[ISO/IEC 10744:1997 A.5.8.3]] - 応用の[[文書化物]]は [CSECTION[11.5 Documentation requirements]] の規定に従わなければなりません。 [SRC[ISO/IEC 10744:1997 A.5.8.3.1]] -システムの[[一般体系システム宣言]]に照らして適当な適合一般体系文書を処理する能力がなければなりません。 処理する一般体系文書で処理できない一般体系機能が使われている時は、 それを報告しなければなりません。 [SRC[ISO/IEC 10744:1997 A.5.8.3.2]] -ISO/IEC 10744:1997 で定義されていない[[データ内容記法]]に対応していなくても不適合にはなりません。 [SRC[ISO/IEC 10744:1997 A.5.8.3.2]] -最小適合一般体系文書は処理できなければなりません。 [SRC[ISO/IEC 10744:1997 A.5.8.3.3]] -応用の規約を ISO/IEC 10744 の規定であるかのように見せてはいけません。 [WEAK[警告しても構いませんが、 ISO/IEC 10744 の規定によるものと区別できなければなりません。]] [SRC[ISO/IEC 10744:1997 A.5.8.3.4]] - [[一般体系システム宣言]]が必要です。 [SRC[ISO/IEC 10744:1997 A.5.8.5]] [6] 適合一般体系システムの一般体系機関は、 次の条件を満たす時[DFN[[RUBYB[検証一般体系機関][validating General Architecture engine]]]]です。 [SRC[ISO/IEC 10744:1997 A.5.8.4]] - [[報告可能一般体系誤り]]を見つけて報告しなければなりません。 -- そうでないものをそう報告してはなりません。 -- 他の誤りを報告しても構いません。 -- 報告可能一般体系誤り発見後にどう処理するべきか (誤ったデータをどうするべきか、処理を継続するべきかなど) は未定義です。 -- 報告可能でない一般体系誤りを検証・報告しても構いません。 [SRC[ISO/IEC 10744:1997 A.5.8.4.1]] - 誤りになりそうな誤りでないものを警告しても構いません。 -- 例えば文書型定義の実質[[文書実現値]]で使われていない部分で、 もし使われたら誤りとなる部分があれば、警告しても構いません。 [SRC[ISO/IEC 10744:1997 A.5.8.4.1]] - 一般体系誤りは、他のメッセージ (一般体系誤りの可能性の警告を含みます。) から明確に区別できなければなりません。 [SRC[ISO/IEC 10744:1997 A.5.8.4.2]] - 一般体系誤りの報告は誤りの場所と種類を特定するのに十分な情報を提供しなければなりません。 [SRC[ISO/IEC 10744:1997 A.5.8.4.3]] [4] >>3 の最後や >>5 の最初の条件で参照している[[規格本体]]の規定は [[HyTime]] に関するもので、一般体系に関する規定ではないのですが、 [CSECTION[A.5.8.5 Standard identification]] という章があり、 こちらが適用されることが想定されているように見えます。 その内容は、例によって[[宣伝条項]]です。 [[#comment]] * 例 [7] 一般体系を使うための[[体系支援宣言]]の例: -[8] [CITE[ISO/IEC 10744 - A.5.1 General Architecture Declaration Template]] (一般体系宣言の雛形) -[9] [CITE[ISO/IEC 10744 - A.5.8 Conformance]] (最小適合一般体系文書用の体系支援宣言の例) [[#comment]] * メモ