Jér*_*nge 14 html xml google-webfonts
我试图在Blogger博客的模板中包含webfonts:
<?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/>
Run Code Online (Sandbox Code Playgroud)
当我尝试保存模板时,我得到:
Error parsing XML, line 5, column 76: The reference to entity "subset" must end with the ';' delimiter.
Run Code Online (Sandbox Code Playgroud)
我试图添加;
但不成功.链接是从Google Web Font生成和获取的.
我该如何解决这个问题?谢谢.
zne*_*eak 49
那是因为&
XML中的保留字符意味着"XML实体从这里开始".XML实体允许您打印难以在文档中嵌入文档的字符或字符序列,因为您没有在键盘上使用它,或者因为文档编码禁止它.例如,在(X)HTML中,é
打印字符"é",这在大多数美国键盘上都不容易找到.(可用实体取决于<!DOCTYPE>
XML文档的声明.)
该方案的问题在于,&
如果它们可以是实体的开头,则意味着您无法明确地在文档周围留下文字字符,因此您需要将它们编码为实体以解决该问题.
您将需要更换所有的流浪&
用&
,这将打印&
不激怒XML解析器.在你的情况,你要善于用替换&subset=
通过&subset=
在你的两个<link>
标签.
XML中的&符号表示实体引用的开头.它以&符号开头,然后有一个标记表示它所指的是哪个实体,然后是一个分号来结束它.为了在文档中包含文字&符号,您需要使用引用&符号的字符实体引用,即&
.
由于您还没有这样做,解析器正在尝试解析以下数据,就好像它是实体引用一样,但实际上并非如此.这就是它无法解析的原因 - 它无法在实体引用的末尾找到分号,因为它不应该是实体引用.
例如,你有:
http://fonts.googleapis.com/css?family=Share:400,700&subset=latin,latin-ext
Run Code Online (Sandbox Code Playgroud)
你应该有:
http://fonts.googleapis.com/css?family=Share:400,700&subset=latin,latin-ext
Run Code Online (Sandbox Code Playgroud)