当前位置:XML > XML发布历程

XML约束DTD和Schema

白癜风可能治好吗 https://m-mip.39.net/fitness/mipso_7157873.html
在下面的文档中,属性的ID值是一样的。这在生活中是不可能出现的。并且第二个学生的姓名有好几个。一般也很少。那么怎么规定ID的值唯一,或者是元素只能出现一次,不能出现多次?甚至是规定里面只能出现具体的元素名字呢?当然是可以做到的,引入XML约束就可以做到。接下来我给大家介绍一下DTD和SchemaDTD它的特点是:语法自成一派,很早就出现了,可读性比较差。引入网络上的DTD来约束xml.!DOCTYPEstusPUBLIC//UNKNOWN/unknown.dtd参数分别为:文档类型,根标签名字,网络上的DTD,DTD的名称,DTD的路径2.引入本地的DTD!DOCTYPEstusSYSTEMstus.dtd参数分别为:引入本地的DTD,根标签名字,引入本地的DTD,DTD的位置3.直接在XML里面嵌入DTD的约束规则stusstuname张三/nameage18/age/stu/stus!ELEMENTstus(stu):stus下面有一个元素stu,但是只有一个!ELEMENTstu(name,age)stu下面有两个元素name,age顺序必须name-age!ELEMENTname(#PCDATA)!ELEMENTage(#PCDATA)!ATTLISTstuidCDATA#IMPLIEDstu有一个属性文本类型,该属性可有可无元素的个数:+ 一个或多个*零个或多个?零个或一个属性的类型定义:CDATA:属性是普通文字ID:属性的值必须唯一!ELEMENTstu(name,age)按照顺序来!ELEMENTstu(name

age)两个中只能包含一个子元素Schema其实就是一个xml,使用xml的语法规则,xml解析器解析起来比较方便,是为了替代DTD。但是Schema约束文本内容比DTD的内容还要多。所以目前也没有真正意义上的替代DTD。约束文档示例文档名称空间的作用一个xml如果想指定它的约束规则,假设使用的是DTD,那么这个xml只能指定一个DTD,不能指定多个DTD。但是如果一个xml的约束是定义在schema里面,并且是多个schema,那么是可以的。简单地说:一个xml可以引用多个schema约束。但是只能引用一个DTD约束。名称空间的作用就是在写元素的时候,可以指定该元素使用的是哪一套约束规则。默认情况如下,如果只有一套规则,那么都可以这么写name张三/nameaa:name/aa:namebb:name/bb:nameDTD和Schema就给大家介绍到这里了。


转载请注明:http://www.vviuov.com/jbjc/1063455.html