aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/xml/xml_introduction/index.html
blob: bd8d02793ccaad07712520ff7eb965dfc0e5c8ad (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
158
---
title: XML_介绍
slug: Web/XML/XML_Introduction
tags:
  - XML
  - XML (有效且格式良好)
  - 入门
  - 初学者
translation_of: Web/XML/XML_introduction
---
<p><span class="comment">Summary: This article introduces the 'eXtensible Markup Language' (XML) and tells of it's uses.</span>XML (Extensible Markup Language)  是一种类似于  {{Glossary("HTML")}} 的标记语言,但是 XML 没有使用预定义的标记。因此,您可以根据自己的设计需求定义专属于您的标记。这是一种十分有用的可存储、可搜索和可共享的格式存储数据的方法。最重要的是,因为 XML 的基本格式是标准化的,所以如果您跨系统或平台共享或传输 XML ,无论是在本地还是在互联网上,接收方仍然可以根据标准化的 XML 语法解析数据。</p>

<p>有许多基于 XML 的语言;一些示例是  <a href="https://developer.mozilla.org/en-US/docs/Glossary/XHTML" title="en/XHTML">XHTML</a><a href="https://developer.mozilla.org/en-US/docs/Web/MathML" title="en/MathML">MathML</a><a href="https://developer.mozilla.org/en-US/docs/Web/SVG" title="en/SVG">SVG</a><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL" title="en/XUL">XUL</a><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XBL" title="en/XBL">XBL</a><a href="https://developer.mozilla.org/en-US/docs/Web/RSS" title="en/RSS">RSS</a>, 和 <a href="https://developer.mozilla.org/en-US/docs/Web/RDF" title="en/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><strong>XML - 声明</strong>并非是一种标签,其用来传播文档的元数据。</p>

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

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

<dl>
 <dt>版本:</dt>
 <dd>当前文档使用的版本。</dd>
 <dt>编码:</dt>
 <dd>当前文档使用的编码。</dd>
</dl>

<h3 id="注释">注释</h3>

<pre>&lt;!-- Comment --&gt;
</pre>

<h2 id=".E4.BB.80.E4.B9.88.E6.98.AFXML.3F" name=".E4.BB.80.E4.B9.88.E6.98.AFXML.3F">"标准的" XML (有效且格式良好)</h2>

<h3 id="XML_.E7.A4.BA.E4.BE.8B" name="XML_.E7.A4.BA.E4.BE.8B">设计规则的标准</h3>

<p>判定一个 XML 文档正确的标准是:</p>

<ul>
 <li>文档必须是一个格式良好的文档。</li>
 <li>文档遵循 XML 所有的语法规则并且有效。</li>
 <li>文档遵循特定语义的规则,这些规则通常规定在 XML 或 DTD 规范中(<a href="/zh-CN/docs/Glossary/DTD">Document Type Definition</a>)。</li>
</ul>

<h3 id="XML_.E7.A4.BA.E4.BE.8B" name="XML_.E7.A4.BA.E4.BE.8B">XML 示例</h3>

<pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;message&gt;
    &lt;warning&gt;
        Hello World
    &lt;!--missing &lt;/warning&gt; --&gt;
&lt;/message&gt;</code>
</pre>

<p>然后我们来看一看这个文档的正确版本:</p>

<pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;message&gt;
    &lt;warning&gt;
         Hello World
    &lt;/warning&gt;
&lt;/message&gt;</code></pre>

<p>一个包含没有定义标签的文档是无效的。例如,如果我们没有定义<code>&lt;warning&gt;</code>标签,这个文件将是无效的。</p>

<div class="blockIndicator note">
<p>大多数浏览器都提供了可以识别格式不正确的 XML 文档的调试器。</p>
</div>

<h2 id="实体">实体</h2>

<p>像HTML一样,XML为一些特别预留的符号定义了一些方法,称为实体(entities),(例如用于标记的大于号)。下面是五个你必须知道的符号:</p>

<table class="standard-table">
 <tbody>
  <tr>
   <td>方法</td>
   <td>符号</td>
   <td>描述</td>
  </tr>
  <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>一个单引号</td>
  </tr>
 </tbody>
</table>

<p>这里只有五个声明的方法,更多的方法可以借助 <a href="https://developer.mozilla.org/en-US/docs/Glossary/DTD" title="en/DTD">Document Type Definition</a> (文档的类定义)被引入。例如,为了创建一个<code>&amp;warning 实体</code>,你可以这样做:</p>

<pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE body [
  &lt;!ENTITY warning "Warning: Something bad happened... please refresh and try again."&gt;
]&gt;
&lt;body&gt;
  &lt;message&gt; &amp;warning; &lt;/message&gt;
&lt;/body&gt;</code></pre>

<p>你可以用数字和一些符号去表示一些特殊字符;例如,&amp;#xA9 代表符号 "©" 。 </p>

<h2 id="展示_XML">展示 XML</h2>

<p>XML 通常被用作描述,但是还有很多方法去展示 XML 数据。如果你不定义一个让XML 展示的特别方式,那么原始的 XML 会被展现在浏览器上。</p>

<p>一个展示 XML 输出的方法是将 <a href="/zh-CN/docs/Web/CSS">CSS</a> 应用于文档,用 <code>xml-stylesheet </code>去处理指令。</p>

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

<p>当然,也有其他更有效的方法去展示 XML:the <strong>Extensible Stylesheet Language Transformations</strong> (<a href="https://developer.mozilla.org/en-US/docs/Web/XSLT" title="en/XSLT">XSLT</a>) ,这个可以被用作将 XML 转换为其他语言例如 HTML。这使得 XML 非常地有力。</p>

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

<p><font face="x-locale-heading-primary, zillaslab, Palatino, Palatino Linotype, x-locale-heading-secondary, serif"><span style="font-size: 40px;"><strong>推荐</strong></span></font></p>

<p>这篇文章明显是一篇非常简略的 XML 介绍,其中有一些例子和参考来帮助你入门。关于 XML 的更多细节,你可以在 Web 中查找更深入的文章。</p>

<p>学习超文本标记语言 (<a href="https://developer.mozilla.org/en-US/docs/Web/HTML" title="en/HTML">HTML</a>) 将帮助您更好的理解 XML。</p>

<p><font face="x-locale-heading-primary, zillaslab, Palatino, Palatino Linotype, x-locale-heading-secondary, serif"><span style="font-size: 40px;"><strong>另见</strong></span></font></p>

<ul>
 <li><a href="http://www.xml.com/">XML.com</a></li>
 <li><a href="https://www.w3.org/XML/">Extensible Markup Language (XML) @ W3.org</a></li>
 <li><a href="http://www.alistapart.com/d/usingxml/xml_uses_a.html">XML Example: A List Apart</a></li>
 <li><a 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>