XML标记命名规则
1、元素的名字可以包含字母、数字、和其他字符
2、元素的名字不能以xml(XML、Xml、xML等)开头
3、元素的名字不能以数字或者标点符号开头
4、元素的名字不能包含空格
5、XML文档除了XML以外,没有其他所谓的保留字,任何的名字都可以使用,但是应该尽量使元素名字具有可读性,名字使用下划线是个不错的选择
6、尽量避免使用"-"和".",因为可能引起混乱。
7、在XML元素命名中不要使用”:”,因为XML命名空间需要用到这个十分特殊的字符。
例如:
合法:
<abc> 、<_xy>、<书号>、<Hell-OK>等;
不合法:
<123a>、<-hello>、<书 号>、<XML123>、<ra%>等;
属性规则
<!ATTLIST 标记名 属性名 类型 默认值 “”>
1、CDATA:表示值为字符型
例如:<!ATTLISTtest3 name CDATA “zhy”
Type(radio|checkbox|text|submit) 默认值 #REQUIRED
> 默认不給值为zhy
2、menu (en1|en2…..) 枚举类型
3、ID 表示值为唯一ID
4、IDREF:表示可参照ID
5、IDREFS: 值为一个或多个参照以存在(其他)ID多个参数中间用空格分隔符,不能使用“逗号”;
6、NMTOKEN:值为合法的XMl名称
7、NMTOKENS:用空格分开的多个XML名称
8、ENTITY:在DTD中声明实体名
9、ENTITYS:在DTD中声明用空格分隔的实体名;
10、NOTTATION:在DTD声明中的注释;
默认值:
#REQUIRED:该元素必须有该属性值;
<img src=””>
#IMPLIED:表示该属性值可有可无;
<img src=” ” alt=””
#FIXED :表示该属性有固定值;
Default:默认值;
实体规则
1) 一般实体
声明并引用普通字符或特殊字符的快捷方式的变量
实体引用是对实体的引用,包括内部、外部声明两种
语法格式:
声明
<!ENTITY 实体名 “值“>
<!ENTITY 实体名 SYSTEM “URL“>
<!ENTITY 实体名 PUBLIC “公共名“ “URL”> 公共名是指w3c标准等
例如:
<!ENTITY abc “ABCabcABC”>
&;
<!ENTITY amp “&”>
引用
&实体名;
支持嵌套
注意:不要自己调用自己
<!ENTITY abc SYSTEM “a.ent”>
引用 &abc; 会产生死循环
a.ent内容如下:
“abcabcabc”
&abc;
外部DTD
文件:扩展名 .dtd
绝对路径:http://www.zhy.com/index.dtd
<!DOCTYPE 根元素名称 SYSTEM “URI/URL”>
<!DOCTYPE 根元素名称 PUBLIC “公共名称” “URL”>
注意:中文xmlspy存在“必须既是SYSTEM 又是PUBLIC“
建议使用英文,或者用?代替!
< ?DOCTYPE bookinfo SYSTEM "bookinfo.dtd" ?>