aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/xml/xml_introduction/index.html
blob: 66eab55be5676497d1e2119d0207e5cde46fcc63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
---
title: XML のイントロダクション
slug: Web/XML/XML_Introduction
tags:
  - XML
  - イントロダクション
  - 初心者
translation_of: Web/XML/XML_introduction
---
<p><span class="comment">概要: この記事は、'eXtensible Markup Language' (XML、拡張可能マークアップ言語) を紹介し、その使い道について</span><span class="seoSummary">XML は HTML に似たマークアップ言語です。 これは Extensible Markup Language の略で、汎用マークアップ言語として <a href="https://www.w3.org/TR/xml/">W3C が推奨する</a>仕様です。つまり、他のマークアップ言語とは異なり、XML は事前定義されていないため、独自のタグを定義する必要があります。この言語の主な目的は、インターネットなどのさまざまなシステム間でデータを共有することです。</span></p>

<p>XML に基づいた言語はたくさんあります。<a href="/ja/docs/XHTML">XHTML</a><a href="/ja/docs/Web/MathML">MathML</a><a href="/ja/docs/Web/SVG">SVG</a><a href="/ja/docs/Mozilla/Tech/XUL">XUL</a><a href="/ja/docs/XBL">XBL</a><a href="/ja/docs/Archive/RSS">RSS</a><a href="/ja/docs/RDF">RDF</a> などがあります。 あなた自身のものを作ることもできます。</p>

<h2 id="XML_文書構造">XML 文書構造</h2>

<div class="blockIndicator warning">
<p>このサブ記事は執筆中です...</p>
</div>

<p>XML および XML ベースの言語の全体の構造は {{Glossary("tag")}} に基づいています。</p>

<h3 id="XML_宣言">XML 宣言</h3>

<p>XML 宣言はタグではありません。文書の送信メタデータに使用しました。</p>

<pre class="syntaxbox">&lt;?xml version="1.0" encoding="UTF-8"?&gt;</pre>

<h4 id="属性">属性:</h4>

<dl>
 <dt>version :</dt>
 <dd>この文書で使用されている XML のバージョン</dd>
 <dt>encoding :</dt>
 <dd>この文書で使用されているエンコーディング。</dd>
</dl>

<h3 id="コメント">コメント</h3>

<pre class="syntaxbox">&lt;!-- Comment --&gt;</pre>

<h2 id=".22.E6.AD.A3.E3.81.97.E3.81.84.22_XML_.28.E5.A6.A5.E5.BD.93.E3.81.A7.E3.81.82.E3.82.8A.E3.80.81.E6.95.B4.E5.BD.A2.E5.BC.8F.E3.81.A7.E3.81.82.E3.82.8B.E3.81.93.E3.81.A8.29" name=".22.E6.AD.A3.E3.81.97.E3.81.84.22_XML_.28.E5.A6.A5.E5.BD.93.E3.81.A7.E3.81.82.E3.82.8A.E3.80.81.E6.95.B4.E5.BD.A2.E5.BC.8F.E3.81.A7.E3.81.82.E3.82.8B.E3.81.93.E3.81.A8.29">"正しい" XML (妥当であり、整形式であること)</h2>

<h3 id="正しいデザインルール">正しいデザインルール</h3>

<p>XML 文書を正しくするには、次の条件を満たす必要があります。</p>

<ul>
 <li>文書は整形式でなければなりません。</li>
 <li>文書はすべての XML 構文規則に準拠している必要があります。</li>
 <li>文書は、通常 XML スキーマまたは DTD (<a href="/ja/docs/Glossary/DTD">文書型定義</a>) で設定されているセマンティックルールに準拠する必要があります。</li>
</ul>

<h3 id="例"></h3>

<pre class="brush: xml line-numbers language-xml"><code class="language-xml"><span class="prolog token">&lt;?xml version="1.0" encoding="UTF-8"?&gt;</span>
<span class="tag token"><span class="tag token"><span class="punctuation token">&lt;</span>message</span><span class="punctuation token">&gt;</span></span>
    <span class="tag token"><span class="tag token"><span class="punctuation token">&lt;</span>warning</span><span class="punctuation token">&gt;</span></span>
        Hello World
    <span class="comment token">&lt;!--missing &lt;/warning&gt; --&gt;</span>
<span class="tag token"><span class="tag token"><span class="punctuation token">&lt;/</span>message</span><span class="punctuation token">&gt;</span></span></code></pre>

<p>整形式に適合した正しい例は以下です。</p>

<pre class="brush: xml line-numbers language-xml"><code class="language-xml"><span class="prolog token">&lt;?xml version="1.0" encoding="UTF-8"?&gt;</span>
<span class="tag token"><span class="tag token"><span class="punctuation token">&lt;</span>message</span><span class="punctuation token">&gt;</span></span>
    <span class="tag token"><span class="tag token"><span class="punctuation token">&lt;</span>warning</span><span class="punctuation token">&gt;</span></span>
         Hello World
    <span class="tag token"><span class="tag token"><span class="punctuation token">&lt;/</span>warning</span><span class="punctuation token">&gt;</span></span>
<span class="tag token"><span class="tag token"><span class="punctuation token">&lt;/</span>message</span><span class="punctuation token">&gt;</span></span></code></pre>

<p>未定義のタグを含む文書は無効です。たとえば、<code>&lt;warning&gt;</code> タグを定義しなかった場合、上記の文書は無効になります。</p>

<div class="note">
<p>ほとんどのブラウザは、形式が不適切な XML 文書を識別できるデバッガを提供しています。</p>
</div>

<h2 id=".E5.AE.9F.E4.BD.93" name=".E5.AE.9F.E4.BD.93">エンティティ</h2>

<p>HTML と同様に、XML には特別な予約文字 (タグに使用される大なり記号など) を参照するための (エンティティと呼ばれる) メソッドがあります。知っておくべきこれらの文字は5つあります。</p>

<table class="standard-table">
 <thead>
  <tr>
   <th scope="col">エンティティ</th>
   <th scope="col">文字</th>
   <th scope="col">説明</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>&amp;lt;</td>
   <td>&lt;</td>
   <td>小なり記号</td>
  </tr>
  <tr>
   <td>&amp;gt;</td>
   <td>&gt;</td>
   <td>大なり記号</td>
  </tr>
  <tr>
   <td>&amp;amp;</td>
   <td>&amp;</td>
   <td>アンパサンド</td>
  </tr>
  <tr>
   <td>&amp;quot;</td>
   <td>"</td>
   <td>二重引用符</td>
  </tr>
  <tr>
   <td>&amp;apos;</td>
   <td>'</td>
   <td>1つのアポストロフィ (または単一引用符)</td>
  </tr>
 </tbody>
</table>

<p>宣言されたエンティティは5つしかありませんが、ドキュメントの <a href="/ja/docs/Glossary/DTD">Document Type Definition</a> を使用して追加することができます。たとえば、新しい <code>&amp;warning;</code> エンティティを作成する場合。このようにして行うことができます:</p>

<pre class="line-numbers language-html"><code class="language-html"><span class="prolog token">&lt;?xml version="1.0" encoding="UTF-8"?&gt;</span>
<span class="doctype token">&lt;!DOCTYPE body [
  &lt;!ENTITY warning "Warning: Something bad happened... please refresh and try again."&gt;</span>
]&gt;
<span class="tag token"><span class="tag token"><span class="punctuation token">&lt;</span>body</span><span class="punctuation token">&gt;</span></span>
  <span class="tag token"><span class="tag token"><span class="punctuation token">&lt;</span>message</span><span class="punctuation token">&gt;</span></span> <span class="entity token" title="&amp;warning;">&amp;warning;</span> <span class="tag token"><span class="tag token"><span class="punctuation token">&lt;/</span>message</span><span class="punctuation token">&gt;</span></span>
<span class="tag token"><span class="tag token"><span class="punctuation token">&lt;/</span>body</span><span class="punctuation token">&gt;</span></span></code></pre>

<p>数字参照を使用して特殊文字を指定することもできます。 たとえば、&amp;#xA9; は "©" 記号です。</p>

<h2 id="XML_.E3.81.AE.E8.A1.A8.E7.A4.BA" name="XML_.E3.81.AE.E8.A1.A8.E7.A4.BA">XML の表示</h2>

<p>XML は説明のためにたいてい用いられますが、XML データを表示するための方法があります。その方法を定義しなければ、生の XML コードがブラウザに表示されます。</p>

<p>XML ページに見た目を持たせる方法の一つは、<code>xml-stylesheet</code> 宣言で <a href="/ja/docs/Web/CSS">CSS</a> を用いることです。</p>

<pre>&lt;?xml-stylesheet type="text/css" href="stylesheet.css"?&gt;</pre>

<p>XML を表示するもう1つのより強力な方法もあります。XSL を HTML などの他の言語に変換するために使用できるExtensible Stylesheet Language Transformation (<a href="/ja/docs/Web/XSLT">XSLT</a>) です。 これにより、XML は非常に用途が広くなります。</p>

<pre>&lt;?xml-stylesheet type="text/xsl" href="transform.xsl"?&gt;</pre>

<h2 id=".E6.8E.A8.E8.96.A6.E6.83.85.E5.A0.B1" name=".E6.8E.A8.E8.96.A6.E6.83.85.E5.A0.B1">推奨</h2>

<p>この記事は、XML の概要についてごく簡単に紹介したもので、始めるためのいくつかの小さな例と参照が含まれています。XML の詳細については、Web でもっと詳細な記事を調べてください。</p>

<p>ハイパーテキストマークアップ言語 (<a href="/ja/docs/Web/HTML">HTML</a>) を学ぶと、XML をよりよく理解するのに役立ちます。</p>

<h2 id="あわせて参照">あわせて参照</h2>

<ul>
 <li><a class="external external-icon" href="http://www.xml.com/">XML.com</a></li>
 <li><a class="external external-icon" href="https://www.w3.org/XML/">Extensible Markup Language (XML) @ W3.org</a></li>
 <li><a class="external external-icon" href="http://www.alistapart.com/d/usingxml/xml_uses_a.html">XML Example: A List Apart</a></li>
 <li><a class="external external-icon" href="http://www.alistapart.com/articles/usingxml/">Using XML: A List Apart</a></li>
</ul>

<p>上記の <a href="http://www.alistapart.com/articles/usingxml/">Using XML</a> の記事は、あなた自身の言語を変換したり作成したりするための情報に関する素晴らしいリソースです。</p>