XML エンティティ参照、注釈、命名規則

黄舟
リリース: 2017-02-15 15:37:44
オリジナル
2003 人が閲覧しました


实体引用

在 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)!

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート