Home  >  Article  >  Backend Development  >  XML entity references, annotations, naming rules

XML entity references, annotations, naming rules

黄舟
黄舟Original
2017-02-15 15:37:441924browse


实体引用

在 XML 中,一些字符拥有特殊的意义。

如果你把字符 "<" 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。

这样会产生 XML 错误:

<message>if salary < 1000 then</message></p>
<p style="margin-top:12px; margin-bottom:0px; border:0px; line-height:18px">为了避免这个错误,请用<span style="margin:0px; padding:0px; border:0px; font-style:normal"><strong>实体引用</strong></span>来代替 "<" 字符:</p><pre style="margin-top:10px; margin-bottom:0px; padding:10px; border:1px dotted rgb(119,136,85); font-family:&#39;Courier New&#39;,Courier,monospace; width:620px; background-color:rgb(245,245,245)"><message>if salary &lt; 1000 then</message></p>
<p style="margin-top:12px; margin-bottom:0px; border:0px; line-height:18px">在 XML 中,有 5 个预定义的实体引用:</p>
<table style="margin:10px 0px 0px; padding:0px; border:1px solid rgb(170,170,170); border-collapse:collapse; width:709px"><tbody style="margin:0px; padding:0px; border:0px">
<tr style="margin:0px; padding:0px; border:0px" class="firstRow">
<td style="margin:0px; padding:5px 15px 5px 5px; border:1px solid rgb(170,170,170); vertical-align:text-top; background-color:rgb(239,239,239)">&lt;</td>
<td style="margin:0px; padding:5px 15px 5px 5px; border:1px solid rgb(170,170,170); vertical-align:text-top; background-color:rgb(239,239,239)"><</td><td style="margin:0px; padding:5px 15px 5px 5px; border:1px solid rgb(170,170,170); vertical-align:text-top; background-color:rgb(239,239,239)">小于</td></tr><tr style="margin:0px; padding:0px; border:0px"><td style="margin:0px; padding:5px 15px 5px 5px; border:1px solid rgb(170,170,170); vertical-align:text-top; background-color:rgb(239,239,239)">&gt;</td><td style="margin:0px; padding:5px 15px 5px 5px; border:1px solid rgb(170,170,170); vertical-align:text-top; background-color:rgb(239,239,239)">></td>
<td style="margin:0px; padding:5px 15px 5px 5px; border:1px solid rgb(170,170,170); vertical-align:text-top; background-color:rgb(239,239,239)">大于</td>
</tr>
<tr style="margin:0px; padding:0px; border:0px">
<td style="margin:0px; padding:5px 15px 5px 5px; border:1px solid rgb(170,170,170); vertical-align:text-top; background-color:rgb(239,239,239)">&amp;</td>
<td style="margin:0px; padding:5px 15px 5px 5px; border:1px solid rgb(170,170,170); vertical-align:text-top; background-color:rgb(239,239,239)">&</td>
<td style="margin:0px; padding:5px 15px 5px 5px; border:1px solid rgb(170,170,170); vertical-align:text-top; background-color:rgb(239,239,239)">和号</td>
</tr>
<tr style="margin:0px; padding:0px; border:0px">
<td style="margin:0px; padding:5px 15px 5px 5px; border:1px solid rgb(170,170,170); vertical-align:text-top; background-color:rgb(239,239,239)">&apos;</td>
<td style="margin:0px; padding:5px 15px 5px 5px; border:1px solid rgb(170,170,170); vertical-align:text-top; background-color:rgb(239,239,239)">'</td>
<td style="margin:0px; padding:5px 15px 5px 5px; border:1px solid rgb(170,170,170); vertical-align:text-top; background-color:rgb(239,239,239)">单引号</td>
</tr>
<tr style="margin:0px; padding:0px; border:0px">
<td style="margin:0px; padding:5px 15px 5px 5px; border:1px solid rgb(170,170,170); vertical-align:text-top; background-color:rgb(239,239,239)">&quot;</td>
<td style="margin:0px; padding:5px 15px 5px 5px; border:1px solid rgb(170,170,170); vertical-align:text-top; background-color:rgb(239,239,239)">"</td>
<td style="margin:0px; padding:5px 15px 5px 5px; border:1px solid rgb(170,170,170); vertical-align:text-top; background-color:rgb(239,239,239)">引号</td>
</tr>
</tbody></table>
<p style="margin-top:12px; margin-bottom:0px; border:0px; line-height:18px"><span style="margin:0px; padding:0px; border:0px; font-weight:bold">注释:</span>在 XML 中,只有字符 "<" 和 "&" 确实是非法的。大于号是合法的,但是用实体引用来代替它是一个好习惯。</p><p style="margin:0px 0px 0px 15px; padding:20px 0px; border-width:1px 0px; border-top-style:solid; border-bottom-style:solid; border-top-color:rgb(170,170,170); border-bottom-color:rgb(170,170,170); width:710px; font-family:Verdana,Arial,宋体; font-size:12px; line-height:normal; background-color:rgb(249,249,249)"></p><h2 style="margin:0px; padding:0px; border:0px; font-family:微软雅黑; font-size:14px">XML 中的注释</h2><p></p><p style="margin-top:12px; margin-bottom:0px; border:0px; line-height:18px">在 XML 中编写注释的语法与 HTML 的语法很相似:</p><pre style="margin-top:10px; margin-bottom:0px; padding:10px; border:1px dotted rgb(119,136,85); font-family:&#39;Courier New&#39;,Courier,monospace; width:620px; background-color:rgb(245,245,245)"><!-- This is a comment --></p>
<p style="margin:0px 0px 0px 15px; padding:20px 0px; border-width:1px 0px; border-top-style:solid; border-bottom-style:solid; border-top-color:rgb(170,170,170); border-bottom-color:rgb(170,170,170); width:710px; font-family:Verdana,Arial,宋体; font-size:12px; line-height:normal; background-color:rgb(249,249,249)"></p>
<h2 style="margin:0px; padding:0px; border:0px; font-family:微软雅黑; font-size:14px">在 XML 中,空格会被保留</h2>
<p></p>
<p style="margin-top:12px; margin-bottom:0px; border:0px; line-height:18px">HTML 会把多个连续的空格字符裁减(合并)为一个:</p>
<pre style="margin-top:10px; margin-bottom:0px; padding:10px; border:1px dotted rgb(119,136,85); font-family:'Courier New',Courier,monospace; width:620px; background-color:rgb(245,245,245)">HTML:	Hello           my name is David.
输出:	Hello my name is David.

在 XML 中,文档中的空格不会被删节。

XML 命名规则

XML 元素必须遵循以下命名规则:

  • 名称可以含字母、数字以及其他的字符

  • 名称不能以数字或者标点符号开始

  • 名称不能以字符 “xml”(或者 XML、Xml)开始

  • 名称不能包含空格

可使用任何名称,没有保留的字词。

最佳命名习惯

使名称具有描述性。使用下划线的名称也很不错。

名称应当比较简短,比如:,而不是:

避免 "-" 字符。如果您按照这样的方式进行命名:"first-name",一些软件会认为你需要提取第一个单词。

避免 "." 字符。如果您按照这样的方式进行命名:"first.name",一些软件会认为 "name" 是对象 "first" 的属性。

避免 ":" 字符。冒号会被转换为命名空间来使用(稍后介绍)。

XML 文档经常有一个对应的数据库,其中的字段会对应 XML 文档中的元素。有一个实用的经验,即使用数据库的名称规则来命名 XML 文档中的元素。

非英语的字母比如 éòá 也是合法的 XML 元素名,不过需要留意当软件开发商不支持这些字符时可能出现的问题。

以上就是XML  实体引用、注释、命名规则 的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn