<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=x-euc-jp">
<TITLE>実体参照</TITLE>
</HEAD>
<BODY BGCOLOR="#FCFCFC">
<!--BODY BACKGROUND="/~miuraj/images/sgml1.gif"-->
<H2>実体参照</H2>
<HR>
伝言メモの発信者の部分には、名前と所属を常に記述しなければいけなかったとします。
このとき、先程の伝言メモDTDは以下のようになるかと思います。
<XMP>
	<!--伝言めもDTD 2(一部)-- >
	<!ELEMENT FROM    - O  (NAME,SECTION) --発信-->
	<!ELEMENT NAME    - O  (#PCDATA)    --氏名-->
	<!ELEMENT SECTION - O  (#PCDATA)    --所属-->
</XMP>
このとき、&lt;FROM&gt;の部分は文書インスタンスでは、
<XMP>
	<FROM>
	<NAME>三浦
	<SECTION>明治大学情報科学センター事務室
	</FROM>		・・・これは省略できる
	(NAME と SECTION は必須で、順番も変えられない)
</XMP>
となります。ここで、「毎回所属を入力するのは面倒だ。"center"くらい簡単に済せたい」と考えたとします。
<P>
このような場合は、「実体参照」という記述方法を用いると簡単になります。
<P>
方法は、伝言メモDTD 2 に以下のように実体(entity)宣言を追加します。
<XMP>
	<!ENTITY CENTER "明治大学情報科学センター事務室">
</XMP>
このとき、
	<UL>
	<LI>CENTER・・・実体名
	<LI>明治大学情報科学センター・・・実体
	</UL>
となり、この実体を以下のように文書インスタンス内で参照します。
<XMP>
	<FROM>
	<NAME>三浦
	<SECTION>&CENTER;
</XMP>
これで、「伝言メモDTD 2」を共有する相手には、SECTIONの値が「明治大学情報科学センター事務室」であることが、伝達できるようになります。
<HR>
<DL>
<DT>実体
	<DD>entity
	<DD>一つの単位として参照される文字列
<DT>実体参照
	<DD>entity reference
	<DD>実体によって置き換えられる参照
	<DD>
<DT>実体宣言
	<DD>eneity declaration
	<DD>実体参照を行なうために、ある実体に実体名を定義すること
<DT>実体名
	<DD>文書内での実体の名前
</DL>
<HR>
<A HREF="./sgml5.html">次ページへ</A>　<A HREF="./sgml4.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>
