XML中的特殊字符

Bil*_*llZ 12 xml xslt dtd entities special-characters

我正在使用xml和xsl创建一个左导航系统.在我尝试在xml文档中使用特殊字符之前,一切都很顺利.我正在使用»,我得到了错误.

原因:引用未定义的实体'raquo'.
错误代码:-1072898046

我该如何工作?

Joe*_*oni 22

您正在尝试在非HTML或非XHTML文档中使用HTML实体.这些实体在文档的文档类型定义(DTD)中声明.

您应该使用实体引用的数字Unicode版本.例如,在»您应该使用的情况下»

或者,您可以在XML文档的DTD中定义它们:

<!ENTITY entity-name "entity-value">
<!ENTITY raquo "&#187;">
Run Code Online (Sandbox Code Playgroud)

否则,如果您的文档是UTF-8,我相信您可以直接在XML文档中使用实际字符.

»
Run Code Online (Sandbox Code Playgroud)

  • 如果可以的话,绝对可以使用unicode字符或unicode实体引用.在XML中应避免使用命名字符引用. (2认同)

Pat*_*Pat 6

你为你的文件指定了一个doc类型吗?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Run Code Online (Sandbox Code Playgroud)

如果您忘记指定它,我认为您可能会遇到此类错误.

如果您通过数字而不是名称指定实体,有时实体也会工作.

&#187; &#171; instead of &raquo; and &laquo;
Run Code Online (Sandbox Code Playgroud)


Zxa*_*aos 0

您是直接使用 \xc2\xbb 符号还是将其定义为 » ?如果您使用转义符号,您是否忘记了分号?

\n