规定dtd
来源:互联网 发布:js创建div并设置id 编辑:程序博客网 时间:2024/04/28 22:46
今天在张莹老师的带领下学习了规定DTD
内部:
<!DOCTYPE 根元素名称 [
元素规则(声明元素名称,声明元素与元素之间的关系)
<!ELEMENT 元素名称 类型>
类型:
EMPTY:空元素;
ANY:任何内容,可以为空;
PCDATA:文本(不能使用特殊符号&><’”)(解析,&)、CDATA;
CDATA:把内容当作字符来显示;
(子元素列表):逗号分隔,严格按照声明顺序来使用相应的子元素;
(子元素?):表示该子元素可以出现0~1次;
(子元素+):表示该子元素可以出现1~无数次;
(子元素*):表示该子元素可以出现0~无数次;
(子元素1|子元素2):表示可以出现子元素1或者子元素2其中一个;
(子元素1,(子元素2,子元素3)?):()表示分组,该组出现0~1次,
先后顺序严格按照声明;
属性规则
语法:
<!ATTLIST 元素名
属性名1 类型 默认值
……
>
类型:
例如:<!ATTLIST input
name CDATA "zhy"
type (text|radio|submit|checkbox) #REQUIRED
alt (text|radio|submit|checkbox) #IMPLIED
value CDATA #FIXED "abc"
classname IDREFS #IMPLIED>
>
CDATA:表示值为字符,默认值表示未赋值时自动给定的值;
(en1|en2…..):枚举类型,表示只能从给定集合选择对应值;
ID :表示值为唯一ID;
IDREF:参照已存在(其他)ID;
IDREFS:值为一个或多个参照已存在(其他)ID;
多个参数中间用“空格”为分隔符,不能使用“逗号”;
NMTOKEN:值为合法的XML名称;
NMTOKENS:由空格分隔开的多个XML名称;
ENTITY:在DTD中声明实体名;
ENTITIES:在DTD中声明用空格分隔的实体名;
NOTATION:在DTD声明中的注释;
例如:
#id1 ul li{
……}
.a b #id1 ul
默认值:
#REQUIRED:该元素必须有该属性值;
<img src=””>
#IMPLIED:表示该属性值可有可无;
<img src=” ” alt=””
#FIXED :表示该属性有固定值;
Default:默认值;
实体规则
1) 一般实体
声明并引用普通字符或特殊字符的快捷方式的变量
实体引用是对实体的引用,包括内部、外部声明两种
语法格式:
声明
<!ENTITY 实体名 “值“>
<!ENTITY 实体名 SYSTEM “URL“>
<!ENTITY 实体名 PUBLIC “公共名“ “URL”>
例如:
<!ENTITY abc “ABCabcABC”>
&;
<!ENTITY amp “&”>
引用
&实体名;
支持嵌套,
注意:不要自己调用自己
<!ENTITY abc SYSTEM “a.ent”>
a.ent内容如下:
“abcabcabc”
&abc;
]>
©right; 版权声明
& < > “ ‘
外部DTD
文件:扩展名 .dtd
绝对路径:http://www.zhy.com/index.dtd
<!DOCTYPE 根元素名称 SYSTEM “URI/URL”>
<!DOCTYPE 根元素名称 PUBLIC “公共名称” “URL”>