黑马程序员技术交流社区

标题: 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">
                                                        ……
                                                        &copyright;
                                        参数实体:
                                                参数实体被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