服务器端的处理技术,如 ASP,PHP,ColdFusion,和 JSP 都需要在 HTML 文件中使用一些非 HTML 的代码;服务器就是基于这些非 HTML 代码来创建和处理 HTML 内容的。当 Dreamweaver 遇到非 HTML 标签的时候,它会将这些非 HTML 标签和自己附带的第三方标签文件进行比较,而这个第三放标签文件就定义了 Dreamweaver 如何读取和显示非 HTML 标签。
举例来说,ASP (Active Server Pages) 文件中包含有供服务器进行解释的代码。这个代码被一对分隔符分开:它以字符串 <%
开始,以字符串 %>
结束。Dreamweaver 的 Configuration/ThirdPartyTags 文件夹中包含了一个名为 ASP.xml 的文件,这个文件是用来描述 ASP 代码的格式,定义 Dreamweaver 显示代码的方式的。由于 ASP 代码是在 ASP.xml 文件中指定的,Dreamweaver 是不会尝试解释前后分隔符之间的任何内容的。
当然你可以定义自己的标签,创建一个标签数据库文件,定义 Dreamweaver 读取和显示这些自定义标签的方式。如果你正在使用的是一个服务器端的标识系统,而不是使用的 ASP,ColdFusion,或者 PHP,那么创建标签数据库文件是非常非常有用的;你可以为每一个这样的标识系统创建一个标签数据库文件,告诉 Dreamweaver 如何显示这些标签。
注意:这一部分主要是解释如何在 Dreamweaver 中定义自定义标签的外观的,而不是讲解如何编辑一个自定义标签的属性内容的。要想了解有关如何创建一个属性面板来监视和修改自定义标签的属性的知识,参阅 Extending Dreamweaver 的 "Property Inspectors" 部分。
每个标签数据库文件都需要定义标签的名字,类型,内容模式,外观配置,以及图标。你可以创建任意多的标签数据库文件,但所有这些文件都必须放在 Configuration/ThirdPartyTags 文件夹中,这样才能被 Dreamweaver 读取和处理。标签数据库文件的后缀是 .xml。
如果你正在同时处理若干个相互无关的站点(比如说,你是一个自由的开发者),你可以将针对某一站点的所有的标签规范都放进一个文件中去。然后只要将数据库文件和自定义图标,以及属性面板都交给站点维护人员就可以了。
举例说,你使用一个被称之为 TAGSPEC
的 XML 标签定义了一个标签规范,下边的代码就描述了 HAPPY
标签的规范:
<TAGSPEC TAG_NAME="happy" TAG_TYPE="nonempty" RENDER_CONTENTS="false" CONTENT_MODEL="marker_model" ICON="happy.gif" ICON_WIDTH="18" ICON_HEIGHT="18"></TAGSPEC>
使用 TAGSPEC
可以定义出两类不同的标签:普通的 HTML 样式标签,和 string-delimited 标签,后者开始和结束位置都是一个字符串。String-delimited 标签有点像空闲 HTML 标签(如 IMG
),在这样的标签之下没有围住任何的内容,也没有封闭标签。前边演示的 HAPPY
标签就是一个普通的 HTML 样式的标签;它的开始标签是 <HAPPY>
,包围的有内容,而结束标签是 </HAPPY>
。ASP 标签也属于 string-delimited 标签,它以字符串 <%
开始,以字符串 %>
结束。
下边的表格描述了 TAGSPEC
的属性及其可能的属性值:
属性 | 属性值 | 描述 |
---|---|---|
|
|
自定义标签的名字。必需的。(对于 string-delimited 标签来讲, |
|
|
确定标签本身是否就是内容(如 |
|
|
决定标签中的内容是否应该出现在文档窗中,或者仅仅是以图标代替。对于非空闲标签这个属性是必需的。只适用于出现在属性之外的标签。 |
|
|
描述标签内可以包含什么样的内容和这个标签可以被什么内容包含。必需的。
使用
|
|
|
规定标记 string-delimited 标签开始的分隔符。String-delimited 标签可以出现在文档中任何注解出现的位置。Dreamweaver 不会执行 |
|
|
规定标记 string-delimited 标签结束的分隔符。如果 |
|
|
指明是否忽略 |
|
|
指明是否解析标签属性。如果属性值设定为 |
|
|
规定标签图标的文件名和路径。对空闲标签来说这个属性是必需的,对那些内容不显示在文档窗的非空闲标签来说也是必需的。 |
|
|
规定图标的宽度。 |
|
|
规定图标的高度。 |
* 忽略使用了 START_STRING 和 END_STRING 的标签。