什么是保留的字符在(X)HTML?(What Are The Reserved Characters

2019-06-24 01:02发布

是的,我GOOGLE了它,并得到了令人惊讶的答案扑朔迷离。

一个页面说的是< > & "是在(X)HTML中唯一保留的角色。毫无疑问,这是有道理的。

这页说 < > & " '是在保留字符(X)HTML。有点混乱,但是没关系,这是有道理的了。

然后就是这个网页它说< > & " © ° £和非打破空间( &nbsp )是(X)HTML所有保留的字符,这是没有意义的,并且几乎增加了我的困惑。

知识渊博的人,究竟是谁做的知道这东西可以,澄清这在(X)HTML保留字符其实是谁?

编辑 :另外,应该在所有的代码保留字符被包裹在当转义<pre>标记? 或只是这三个- < > & ??

Answer 1:

只有<& 需要进行转义。 里面的属性, "' (取决于报价风格您使用属性值)需要被逃脱了。

<a href="#" onclick="here you can use ' safely"></a>
<a href="#" onclick='here you can use " safely'></a>


Answer 2:

在XHTML 1.0规范规定http://www.w3.org/TR/2002/REC-xhtml1-20020801/#xhtml :

XHTML 1.0 [...]是三个HTML 4文档类型的再形成作为XML 1.0 [XML]的应用程序。

在XML 1.0规范规定http://www.w3.org/TR/2008/REC-xml-20081126/#syntax :

字符数据和标记:文本由混杂字符数据和标记的。 [...]的符号字符( & )和左尖括号( < )不得出现在他们的文字形式,如标记定界符时,或注释,处理指令,或CDATA段内除外。 如果在其他地方需要,它们都必须用数字字符引用或字符串进行转义“ &amp; ”和“ &lt; ”分别。 右尖括号( > )可以使用字符串来表示“ &gt; ”,并且必须为兼容性,即使用转义“ &gt; ”或“当它出现在字符串中的字符参考]]> ”中的内容,当该字符串不表示一个CDATA段的结束。

这意味着,编写XHTML文档的文本部分时, 必须转义&,<和>。

可以逃避很多更多,例如与uuml; 对于变音ü。 您可以也指出该文档编码例如UTF-8和写入字节序列0xc3bc代替以获得相同的变音ü。

当写部件部分(列“标签”)的文件,也有不同的规则。 你必须照顾”,“和很多有关注释,CDATA规则等等。还有哪些字符可以在元件使用和属性名的规则。你可以看看它在XML规范,但在结束它归结为:为元素和属性名称,使用字母,数字和“ - ”,不要使用“_”属性值,则必须逃脱与和(取决于报价样式)无论是“或”。

如果您使用的许多图书馆的一个写XML / XHTML文档,别人已经采取的这种关心,你只需要告诉库写入文本或元素。 所有转义是在后台进行的。&



Answer 3:

通过编写“(X)HTML”,你要求(至少)两个不同的问题。

通过HTML的规则,用“HTML”,意思是任何HTML版本直至并包括HTML 4.01,只有“<”和“&”被保留。 这些规则有点复杂。 他们不应该不是真的出现,除了在他们的标签,实体引用,字符引用语法使用。 但到了正式的规则,他们可能会出现字面上例如在“A&B”或“A <B”的情况下(但A&B是错误的正式,因此将A<B

XHTML的规则,基于XML的,是有些严格,更简单:“<”和“&”无条件地保留。

在ASCII引号“和ASCII撇号“没有在非常特殊的意义保留,只是一个引号中的属性值不能从字面上包含作为报价,即在字符‘foo’的字符串FOO不得包含”本身和在“富”字符串FOO不能包含'这样。



Answer 4:

字符< > & "由XML格式保留。

  • 这意味着,只能使用<和>字符来定义标签( <mytag></mytag>

  • 双引号(“)用于定义属性值( <mytag attribute="value" />

  • &符号是用来写实体( &amp;用于当你真正想要写符号,而不是& )。 此外,当您在XML文档中写的网址,你应该使用&amp; ,不只是&www.aaa.com?a=1&b=2 -是错误的; www.aaa.com?a=1&amp;b=2 -好!

XHTML是基于XML的,所以我已经写了适用于XHTML。

© ° £ -这些是不保留字符。 这些是专为XHTML,而不是为XML定义的实体。

在XML中,你可以简单地写© 。 在XHMTL你也可以简单的写©,使用单位&copy; 或数字实体&00A9;



Answer 5:

除了其他的答案,可能有助于知道,也有禁止字符:在ASCII和ISO-8859-1所有的控制字符,除了TAB,LF和CR。

https://www.w3.org/MarkUp/html3/specialchars.html



文章来源: What Are The Reserved Characters In (X)HTML?