<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE document PUBLIC "-//CNX//DTD CNXML 0.5//EN" "http://cnx.rice.edu/cnxml/0.5/DTD/cnxml_plain.dtd">
<document xmlns="http://cnx.rice.edu/cnxml" xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:bib="http://bibtexml.sf.net/" id="m9002">
  <name>XML Basics (日本語 - Japanese)</name>
  <metadata>
  <md:version>2.20</md:version>
  <md:created>2005/08/24 10:26:38.161 GMT-5</md:created>
  <md:revised>2005/08/24 10:27:49.161 GMT-5</md:revised>
  <md:authorlist>
      <md:author id="selc">
      <md:firstname>Sarah</md:firstname>
      
      <md:surname>Coppin</md:surname>
      <md:email>coppin@alumni.rice.edu</md:email>
    </md:author>
      <md:author id="brentmh">
      <md:firstname>Brent</md:firstname>
      <md:othername>Michael</md:othername>
      <md:surname>Hendricks</md:surname>
      <md:email>brentmh@rice.edu</md:email>
    </md:author>
      <md:author id="takaryo">
      <md:firstname>Hironori</md:firstname>
      
      <md:surname>Takaryo</md:surname>
      <md:email>s043105@ishikawa-nct.ac.jp</md:email>
    </md:author>
  </md:authorlist>

  <md:maintainerlist>
    <md:maintainer id="takaryo">
      <md:firstname>Hironori</md:firstname>
      
      <md:surname>Takaryo</md:surname>
      <md:email>s043105@ishikawa-nct.ac.jp</md:email>
    </md:maintainer>
  </md:maintainerlist>
  
  <md:keywordlist>
    <md:keyword>attribute</md:keyword>
    <md:keyword>entity</md:keyword>
    <md:keyword>nesting</md:keyword>
    <md:keyword>unicode</md:keyword>
    <md:keyword>valid</md:keyword>
    <md:keyword>well-formed</md:keyword>
    <md:keyword>xml</md:keyword>
  </md:keywordlist>

  <md:abstract>This module describes XML (eXtensible Markup Language) and the rules that govern its usage.  It also explains what a well-formed and valid document is.</md:abstract>
</metadata>

  <content>
    
    <section id="whatxml">
      <name>XMLとは</name>
      <para id="pa1">　<term>XML</term>(eXtensible Markup Language)は、<link src="http://www.w3.org">World Wide Web Consortium(W3C)</link>によって定義されたメタマークアップ言語です。厳密に言えば、それ自身はマークアップ言語ではなく、むしろマークアップ言語を生成するルールの集まりのようなものです。私たちの目的のために、<term>マークアップ言語</term>は、情報伝達のためにテキストをタグで囲む言語（例えばHTML）です。<link src="http://cnx.rice.edu">Connexionsプロジェクト</link>で使用されているマークアップ言語、<link src="http://cnx.rice.edu/cnxml">CNXML</link>はXMLで書かれた言語の1つの例です。
他の多くの例がW3Cのサイトにあります。CNXMLの記述例です。
      </para>
      <code type="block">
<![CDATA[<para>
  This is a paragraph in <term>CNXML</term>.  Notice that the markup
  contains tags that express the meaning of the text.
</para>]]>
      </code>
      <para id="pa5">　<code type="inline">&lt;para&gt;</code>と<code type="inline">&lt;/para&gt;</code>がテキストを含んでいるタグです。XMLでは、タグは<code type="inline">&lt;</code>と<code type="inline">&gt;</code>で記述されます。普通<term>タグ</term>はペアになります。開始のタグが<code type="inline">&lt;tagname&gt;</code>のようになり、終了のタグが<code type="inline">&lt;/tagname&gt;</code>のようになります。
      </para>
      <para id="pa2">　XMLでは、コンテンツからプレゼンテーションを分離することができます。例えば、HTMLには<code type="inline">&lt;u&gt;</code>や<code type="inline">&lt;i&gt;</code>などのタグがあります。前者はテキストにアンダーラインを付け、後者はテキストをイタリック体にします。これはフォーマットしているだけであり、コンテンツを説明してはいません。XMLではコンテンツの内容を表すため、あなたの好きなタグのタイトルを定義することができます。例えば本のタイトルを表すために、<code type="inline">&lt;book&gt;</code>というタグを作成することができます。そしてスタイルシートでイタリック体にしたり、アンダーラインを引いたりできます。そして、そのタイプのコンテンツのプレゼンテーションを変更したい時、スタイルシートの1箇所を変更するだけで行うことができます。また、ドキュメントの中身を伝えるタグを作成するなら、探すよりいい方法があります。例えば、Authorタグを見ることによって、ドキュメントのAuthorを探すかもしれません。
      </para>
    </section>


    <section id="xmlrules">
      <name>Well-formed XML</name>
      <para id="pa3">　XMLには、CNXMLを含むすべての言語に適用されるいつくかのルールがあります。ドキュメントがこれらのルールを満たすなら、きちんと形成されてると言えます。XMLドキュメントはきとんと形成されていなければなりません。

	<list id="threerules">
	<item>
開かれたすべてのタグは閉じられなければなりません。<code type="inline">&lt;module&gt;</code>で始まり、<code type="inline">&lt;/module&gt;</code>で終わるように。簡単な方法があります。タグが他のタグを含まないなら、開始のタグの「&gt;」の前に「/」を入力することで、終了のタグを削除することができます。例えば、<code type="inline">&lt;media&gt;</code>と<code type="inline">&lt;/media&gt;</code>は<code type="inline">&lt;media/&gt;</code>と簡略化することができます。
	  </item>
	<item>
タグは互いに入れ子になっていなくてはなりません。<code type="inline">&lt;b&gt;red &lt;i&gt;and&lt;/i&gt;
	    blue&lt;/b&gt;</code>は正しくて、<code type="inline">&lt;b&gt;red &lt;i&gt;and&lt;/b&gt;
	    blue&lt;/i&gt;</code>は正しくありません。なぜなら後者は入れ子になっていないからです。
	  </item>
	<item>
属性値には、シングルコーテーションかダブルコーテーションを付けなければなりません。<term>属性</term>はタグに関連している情報です。例えば、<code type="inline">&lt;module id="m0001"&gt;</code>は正しくて<code type="inline">&lt;module id=m0001&gt;</code>は正しくありません。
	  </item>
	<item>
また、すべてのドキュメントを<term>XML宣言</term>ではじめることを選択することができます。XML宣言を使用するなら、それはファイルの最初で行わなければいけません。前に空白も入れてはいけません。それはタグではありません。XML宣言は以下の通りです。<code type="inline">&lt;?xml version="1.0"?&gt;</code>ドキュメントのエンコードや、他のファイルを読み込むかどうかなどの別の情報も含めることができます。
	  </item>
	<item>
すべてのタグを含む1つのタグがあるはずです。例えば、XHTMLでは<code type="inline">&lt;html&gt;</code>と<code type="inline">&lt;/html&gt;</code>は他のすべてのタグを囲まなくてはなりません。ドキュメントの最初にあり、タグで含まれていないものもあります。XML宣言はその例です。
	  </item>
</list>
</para>
    </section>


    <section id="valid">
      <name>Valid XML</name>
      <para id="pvalid">　特定のXML言語のタグに適応されるルールを定義することは可能です。これらのルールは異なった方法で定義することができます。もっとも一般的な方法は<term>DTD</term>(Document Type Definition)を使用することです。その言語のルールに従う全てのドキュメントは、<term>有効</term>であると言えます。ドキュメントは有効なXMLになる必要はありませんが、一般的にそれはいい考えです。
      </para>
    </section>
    <section id="entities">
      <name>Entities</name>
      <para id="pent1">　<term>entity</term>は拡張文字を表示するためのものです。それには基本的なフォームがあります。アンパーサンドで始まり、セミコロンで終わります。例えば&amp;amp;は&amp;という文字を表示するためのものです。もしソースファイルに&amp;amp;と入力すると、ブラウザでは&amp;が表示されます。これにはさまざまな種類があり、全てのXMLファイルで使えます。例えば&amp;amp;(&amp;)、&amp;lt(&lt;)、&amp;gt(&gt;)、&amp;quot(")、&amp;apos(')などです。これらはHTMLで定義されているものと同じです。これらの基本記号に加えて、DTDを使用することにより、自分自身の記号を定義することができます。これらの定義は他のシンボルを示したり、長いテキストへのショートカットとして利用できます。
      </para>
      <para id="pent2">　<term>Unicode</term>の文字もまたXMLに記述することができます。Unicodeは全ての言語の全ての文字のための、ユニークなコードを定義するためのプロジェクトです。UnicodeはASCIIの一部ではないシンボルを使用するとき、とても役に立ちます。
</para>
      <para id="pent3">　Unicodeのentityには、#があります。したがって&amp;#134;のようになります。もしくはコードが16真数で書かれているなら、&amp;#x03C0;のようにxがつきます。
</para>
    </section>
  </content>
</document>
