<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=x-euc-jp">
<TITLE>SGML宣言</TITLE>
</HEAD>
<BODY BGCOLOR="#FCFCFC">
<!--BODY BACKGROUND="/~miuraj/images/sgml1.gif"-->
<H2>SGML宣言</H2>
<HR>
今までの話で、SGMLで文書を作成する場合は、
<OL>
<LI>DTDを用意する、あるいは決める
<LI>そのDTDに定義されているタグを使用して、SGML文書を作成する。
<LI>作成する文書内の情報は、あくまでも、本来持つべき情報のみとし、印刷のためなどのレイアウト情報は含めない
</OL>
ということは、理解できたかと思います。しかし、もうひとつ、重要なものがありまして、、、SGML宣言というものです。
<P>
SGML宣言では、
<UL>
<LI>DTDも含めた、SGML文書で使用する文字符号系(例えばJISコードとか)の定義
<LI>SGMLにおいて意味を持つキーワード、記号などの指示(構文の指示といいます)
<LI>SGML宣言の適用範囲(DTDにも適用するか、とか、、、)
<LI>タグの省略ができるか否かのなど指示(SGML機構の指示といいます)
</UL>
を行ないます。
<P>
この宣言があるために、異なるシステム間でSGML文書を交換しても、同じ文書として扱うことができるようになるわけです。
<P>
実際の処理に際しては、受け取ったSGML文書のSGML宣言をみれば、手元にあるシステムで、そのまま処理できるか、何らかの変換などの作業が必要になるかがわかるからです。
<P>
実際のSGML宣言は、こんな形をしています。
<UL>
<LI>--で挾まれた部分はコメントです
<LI>空白行は無視してください
<LI>デフォルトという言葉が出てきますが、実際にはデフォルトではなく、ISOで公開した値などを使うという意味です
</UL>
<XMP>
----ここから----
<!SGML "ISO 8879-1986"

CHARSET        --使用できる文字の定義の開始--
BASESET    "ISO 646-1983//CHARSET International Reference Version
     (IRV) //ESC 2/5 4/0"  --いわゆるアスキーコードを指示--
DESCSET 0   9  UNUSED --0x00から9個は使用しない--
        9   2  9      --0x09から連続して2個を使う。先頭を0x09へマッピング--
       11   2  UNUSED
       13   1  13     --10進の13(0x0d)--
       14  18  UNUSED
       32  95  32    
      127   1  UNUSED
CAPACITY PUBLIC "ISO 8879-1986//CAPACITY Reference//EN"
        --文書の容量(例えば定義するタグ要素の数)はデフォルト--

SCOPE     DOCUMENT    --適用範囲はDTDと文書インスタンス--

SYNTAX     PUBLIC "ISO 8879-1986//SYNTAX Reference//EN"
        --構文の指示(文法の基本ルール(タグの定義で使える文字など)はデフォルト)--

FEATURE        --SGML機構の指示(タグの省略ができるか否かなどの指示)--
MINIMIZE DATATAG  NO   OMITTAG  YES   RANS      NO   SHORTTAG  YES
LINK     SIMPLE   NO   IMPLICIT  NO   EXPLICIT  NO
OTHER    CONCUR   NO   SUBDOC    NO   FORMAL    YES

APPINFO  NONE    --アプリケーション固有情報は無し--
>
----ここまで----
</XMP>
通常、SGML文書の作成者がSGML宣言を作成することはまれで、SGMLシステムを管理する側が用意するものと(勝手に)思っています。
<HR>
<A HREF="./sgml5.html">前のページへ</A>
<BR>
<A HREF="./index.html">目次へ</A>
<BR>
<A HREF="../../index.html#SGML">SGMLへ戻る</A>
<HR>
<ADDRESS>
miuraj@isc.meiji.ac.jp
</ADDRESS>
</BODY>
</HTML>
