- Dreamweaver 用户指南
- 简介
- Dreamweaver 和 Creative Cloud
- Dreamweaver 工作区和视图
- 设置站点
- 管理文件
- 布局和设计
- CSS
- 页面内容和资源
- 设置页面属性
- 设置 CSS 标题属性和 CSS 链接属性
- 使用文本
- 查找和替换文本、标签和属性
- DOM 面板
- 在实时视图中编辑
- 在 Dreamweaver 中对文档编码
- 在“文档”窗口中选择和查看元素
- 在属性检查器中设置文本属性
- 对网页进行拼写检查
- 在 Dreamweaver 中使用水平线
- 在 Dreamweaver 中添加和修改字体组合
- 使用资源
- 在 Dreamweaver 中插入和更新日期
- 在 Dreamweaver 中创建和管理收藏资源
- 在 Dreamweaver 中插入和编辑图像
- 添加媒体对象
- 在 Dreamweaver 中添加视频
- 插入 HTML5 视频
- 插入 SWF 文件
- 添加音频效果
- 在 Dreamweaver 中插入 HTML5 音频
- 使用库项目
- 在 Dreamweaver 中使用阿拉伯语和希伯来语文本
- 链接与导航
- jQuery 构件和效果
- 对网站进行编码
- 关于在 Dreamweaver 中编码
- Dreamweaver 中的编码环境
- 设置编码偏好设置
- 自定义代码颜色
- 编写和编辑代码
- 代码提示和代码完成
- 折叠和展开代码
- 使用代码片段重用代码
- 使用 linting 检查代码
- 优化代码
- 在设计视图中编辑代码
- 使用页面的头内容
- 在 Dreamweaver 中插入服务器端包含
- 在 Dreamweaver 中使用标签库
- 将自定义标签导入 Dreamweaver
- 使用 JavaScript 行为(一般说明)
- 应用内置 JavaScript 行为
- 关于 XML 和 XSLT
- 在 Dreamweaver 中执行服务器端 XSL 转换
- 在 Dreamweaver 中执行客户端 XSL 转换
- 在 Dreamweaver 中为 XSLT 添加字符实体
- 设置代码格式
- 跨产品工作流
- 模板
- 移动设备和多屏幕
- 动态网站、页面和 Web 表单
- 以可视化方式生成应用程序
- 测试、预览和发布网站
- 疑难解答
阅读本文以了解在 Dreamweaver 中如何指定缺少的字符实体来替换 XSLT 的特殊字符。
用户界面已经在 Dreamweaver CC 和更高版本中做了简化。因此,您可能在 Dreamweaver CC 和更高版本中找不到本文中描述的一些选项。有关详细信息,请参阅此文章。
指定缺少的字符实体
在 XSLT 中,某些上下文中不允许存在某些字符。例如,您无法在标签之间的文本或属性值中使用小于号 (<) 和“与”号 (&)。如果错误地使用了这些字符,XSLT 转换引擎将指示错误。要解决此问题,您可以指定用于替代特殊字符的字符实体。
字符实体是表示其它字符的字符串。字符实体已被命名或编号。命名的实体以“与”号 (&) 开头,后跟名称或字符,并以分号 (;) 结尾。例如,<; 表示左尖括号字符 (<)。除了用井号 (#) 和数字来指定字符之外,编号的实体也以同样的方式开头和结束。
XSLT 具有以下 5 个预定义的实体:
字符 |
实体代码 |
---|---|
<(小于) |
< |
&(与) |
& |
>(大于) |
> |
"(引号) |
" |
‘(撇号) |
' |
如果在 XSL 文件中使用其它字符实体,则需要在 XSL 文件的 DTD 部分中定义这些实体。Dreamweaver 提供了一些默认的实体定义,在 Dreamweaver 中创建的 XSL 文件的顶部可以看到这些默认的实体定义。这些默认的实体可以让您广泛地选择最常用的字符。
在浏览器中预览 XSL 文件时,Dreamweaver 会检查 XSL 文件是否有未定义的实体并在发现未定义的实体时通知您。
如果预览附加到 XSLT 文件中的 XML 文件,或者预览具有 XSLT 转换的服务器端页面,则服务器或浏览器(而不是 Dreamweaver)会通知您发现一个未定义的实体。例如,在请求由缺少实体定义的 XSL 文件转换的 XML 文件时,在 Internet Explorer 中可能会显示以下消息:Reference to undefined entity 'auml'. Error processing resource 'http://localhost/testthis/list.xsl'. Line 28, Position 20 <p class=''test''>ä</p> -------------------^
要纠正页面中的错误,必须手动为页面添加实体定义。
Reference to undefined entity 'auml'. Error processing resource 'http://localhost/testthis/list.xsl'. Line 28, Position 20 <p class=''test''>ä</p> -------------------^
指定缺少的实体定义
-
在 www.w3.org/TR/REC-html40/sgml/entities.html 的 W3C 网站的字符实体参考页中查找缺少的字符。
此网页包含 HTML 4 和 XHTML 1.0 中允许的 252 个实体。
例如,如果缺少字符实体 Egrave,请在 W3C网页上搜索“Egrave”。您将发现以下项:
<!ENTITY Egrave CDATA "È" -- latin capital letter E with grave, U+00C8 ISOlat1 -->
-
记录该项中的实体名称和实体代码。
在此示例中,Egrave 是实体名称,È 是实体代码。
-
了解此信息后,请切换到“代码”视图中,在 XSL 文件(在 Doctype 声明之后并且具有其它实体标签)的顶部输入以下实体标签:
<!ENTITY entityname "entitycode;">
在此示例中,您需要输入以下实体标签:<!ENTITY Egrave "È">
<!ENTITY Egrave "È">
-
保存您的文件。
如果重复使用相同的字符实体,可能需要在 XSL 文件(在使用“文件”>“新建”时,默认情况下,Dreamweaver 会创建此 XSL 文件)中永久添加它们的定义。
向默认情况下 Dreamweaver 创建的 XSL 文件添加实体定义。
-
在 Dreamweaver 应用程序文件夹中查找以下配置文件,然后在任意文本编辑器中打开此文件:
Configuration/DocumentTypes/MMDocumentTypeDeclarations.xml
-
查找名为 called mm_xslt_1 的声明:
<documenttypedeclaration id="mm_xslt_1">
-
如下所示,请在实体标签列表中输入新的实体标签:
<!ENTITY entityname "entitycode;">
-
保存文件并重新启动 Dreamweaver。