A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 程madman 中级黑马   /  2017-11-24 23:15  /  604 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

概述:
        是用来约束xml文档中可以出现哪些标签,不能出现哪些标签,标签中是否有顺序,出现的次数
作用:
        用来规范xml的写法
*****约束的种类及区别:
                *DTD
                *Schema
        区别:DTD语法是自称一体,Schema的语法是xml的语法
                schema的语法是xml的语法所有更容易被解析器所解析.
                schema支持名称空间
                schema有比DTD更加强大的语义和语法的约束
DTD的语法:
        *引入的方式:
                *内部的DTD:
                <!DOCTYPE xml跟标签名 []>
                *外部的DTD:
                        ~本地DTD:
                        <!DOCTYPE xml跟标签名 SYSTEM "路径">
                       
                        ~网络DTD:
                        <!DOCTYPE xml跟标签名 PUBLIC"//UNKNOWN/" "unkown.dtd">
                DTD语法:
                        *元素:
                                <!ELEMENT 元素名 元素类型>
                                元素类型:
                                        ~EMPTY
                                        ~ANY
                                        ~子元素
                                         是否有序:可以使用逗号(有序)或者竖线(无序只能出现一次)
                                        表示出现的次数: ? :零次或一次+:一次或多次 *:零次或多次
                                        ~PCDATA
                                属性:
                                        <!ATTLIST 元素名称 属性名称 属性的类型 属性的约束>
                                        *属性的类型
                                                ~id类型:        表示属性的值唯一
                                                ~SCDATA        类型:普通字符串
                                                ~枚举:
                                        *属性的约束:
                                               
                                               
                                               
                       

Schema的语法:
        名称空间:一个xml只能引入一个DTD约束文档,使用了schema约束xml文档,一个xml可以引入多个schema的约束!
       
        名称空间类似如java中的package.用于区分各个schema约束,通过名称空间来区分标签或属性来自与那个文档的…通常名称空间是唯一的不重复的即可,一般使用一个url地址表示一个名称空间
       
       
        Xmlns:当前文档引用的名称空间 后面加-instance表示被约束文档
        targetNameSpace:目标名称空间下面写的约束文档绑定的名称空间
        elementFormDefault:用来描述标签的前缀
       
       
步骤:1,引入w3c名称空间,标识这个文档是约束文档
步骤2:定义的元素或属性绑定一个名称空间:
步骤3:定义元素和属性:
        *找多少个元素
        *区分元素是简单的还是复杂的
        *复杂的需要确定是否有序,出现次数….
步骤4 ,引入w3c的实例文档的名称空间instance标识当前的文档是实例文档/被约束文档
步骤5:引入约束文档的名称空间:
步骤6:引入约束文档的位置
步骤7:编写xml文档

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马