规定dtd

来源:互联网 发布:js创建div并设置id 编辑:程序博客网 时间:2024/04/28 22:46
 

 

今天在张莹老师的带领下学习了规定DTD

 

 

 

内部:

<!DOCTYPE 根元素名称 [

元素规则(声明元素名称,声明元素与元素之间的关系)

<!ELEMENT 元素名称  类型>

类型:

 EMPTY:空元素;

 ANY:任何内容,可以为空;

 PCDATA:文本(不能使用特殊符号&><’”)(解析,&amp)、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”>

&amp; 

<!ENTITY  amp  “&”>

引用

&实体名;

 

 支持嵌套,

 注意:不要自己调用自己

 <!ENTITY abc SYSTEM “a.ent”>

 

a.ent内容如下:

“abcabcabc”

&abc;

 

 

]>

 

 

&copyright;  版权声明

& < > “  ‘

 

 

外部DTD

文件:扩展名   .dtd

绝对路径:http://www.zhy.com/index.dtd

 <!DOCTYPE 根元素名称 SYSTEM “URI/URL”>

<!DOCTYPE 根元素名称 PUBLIC “公共名称” “URL”>

 

原创粉丝点击