黑马程序员技术交流社区
标题:
xml的DTD约束总结,schema约束有点复杂还没弄明白
[打印本页]
作者:
yangxiaosa
时间:
2017-3-16 22:41
标题:
xml的DTD约束总结,schema约束有点复杂还没弄明白
DTD:
文档关联:
内部关联:<!DOCTYPE 根元素 [语法]>
外部关联:<!DOCTYPE 根元素 SYSTEM "URI">
公共关联:<!DOCTYPE 根元素 PUBLIC "文档名称" "文档URI">
元素约束:
格式:<!ELEMENT 元素名称 约束>
符号:在约束中使用
?:0或1
+:至少有一个
*:至少有0个
():分组
|:选择
,:顺序
如:<!ELEMENT 元素名(元素1|元素2|元素3)*,(元素4|元素5)?,元素6+>
类型:
#PCDATA, 只能书写字符,不能包含子元素,注意:(#PCDATA)
EMPTY,元素内容为空
ANY,元素为任意内容
属性约束:
格式:<!ATTLIST 元素名称 [属性名称 属性类型 约束...]>
类型:
CDATA,字符
(),选择
ID,设置唯一标识,注意,必须字母开头
IDREF,引用存已在的ID值
ENTITY,值是一个实体
约束:
#REQUIRED,必须填写
#IMPLIED,可选
#FIXED value,固定值
defaultValue,默认值
实体:
定义:实体是变量,用于引用普通文本或特殊字符的快捷方式的变量
分类:内部实体和外部实体
内部实体:
引用实体:
引用实体主要在xml文档中被应用
格式:<!ENTITY 实体名称 "实体内容">
引用方式:&实体名称
例:<!ENTITY copyright “I am a programmer">
……
©right;
参数实体:
参数实体被DTD文件自身使用
格式:<!ENTITY % 实体名称 "实体内容">
引用方式:%实体名称;
例:<!ENTITY %TAG_NAMES "姓名 | EMAIL | 电话 | 地址">
<!ELEMENT 个人信息 (%TAG_NAMES; | 生日)>
<!ELEMENT 客户信息 (%TAG_NAMES; | 公司名)>
外部实体:
实体在xml文档中被引用
格式:<!ENTITY 实体名称 SYSTEM "URI/URL">
引用方式:&实体名称
例:<!ENTITY info SYSTEM "part.xml">
……
& info;
效果:把part.xml中的内容(除声明外)全部复制到引用该实体的xml文档中
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2