【问题标题】:The reference to entity "subset" must end with the ';' delimiter [duplicate]对实体“子集”的引用必须以“;”结尾分隔符[重复]
【发布时间】:2012-12-16 05:53:50
【问题描述】:

我正在尝试在 Blogger 博客的模板中包含网络字体:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<html b:version='2' class='v2' expr:dir='data:blog.languageDirection' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
  <head>
    <link href='http://fonts.googleapis.com/css?family=Share:400,700&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
    <link href='http://fonts.googleapis.com/css?family=Istok+Web:400,700&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
    <meta content='IE=EmulateIE7' http-equiv='X-UA-Compatible'/>
    <b:if cond='data:blog.isMobile'>
      <meta content='width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0' name='viewport'/>
    <b:else/>

当我尝试保存模板时,我得到:

Error parsing XML, line 5, column 76: The reference to entity "subset" must end with the ';' delimiter.

我尝试添加;,但未成功。这些链接是从 Google Web Font 生成和获取的。

我应该如何解决这个问题?谢谢。

【问题讨论】:

    标签: html xml google-webfonts


    【解决方案1】:

    这是因为&amp;amp; 是 XML 中的保留字符,表示“XML 实体从这里开始”。 XML 实体允许您打印难以按字面意思嵌入到文档中的字符或字符序列,这可能是因为您的键盘上没有它,或者是因为文档编码禁止它。例如,在 (X)HTML 中,&amp;eacute; 打印字符“é”,这在大多数美式键盘上都不容易找到。 (可用实体取决于您的 XML 文档的 &lt;!DOCTYPE&gt; 声明。)

    该方案的问题在于,如果它们可以作为实体的开头,则不能在文档周围明确地留下文字 &amp;amp; 字符,因此您需要将它们编码为实体来解决该问题。

    您需要用&amp;amp; 替换所有杂散的&amp;amp;,这将打印&amp;amp; 而不会激怒XML 解析器。在您的情况下,您应该很好地将两个 &lt;link&gt; 标签中的 &amp;amp;subset= 替换为 &amp;amp;subset=

    【讨论】:

      【解决方案2】:

      XML 中的和号表示实体引用的开始。它以 & 开头,然后是一个标记,指示它所指的是哪个实体,然后是一个分号来结束它。为了在文档中包含文字 & 符号,您需要使用引用 & 符号的字符实体引用,即&amp;amp;

      由于您还没有这样做,解析器正在尝试解析以下数据,就好像它是实体引用一样,但事实并非如此。这就是它无法解析的原因 - 它无法在实体引用末尾找到分号,因为它不应该是实体引用。

      例如,你有:

      http://fonts.googleapis.com/css?family=Share:400,700&subset=latin,latin-ext
      

      你应该有:

      http://fonts.googleapis.com/css?family=Share:400,700&amp;subset=latin,latin-ext
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-05
        • 2011-09-22
        • 2014-05-26
        • 2010-12-29
        • 2020-07-14
        • 2019-10-04
        • 2017-02-02
        相关资源
        最近更新 更多