javaxml验证⼯具_验证xml格式
验证xml格式
DTD验证
可以使⽤DTD来定义XML⽂档的合法构建模块。DTD可以写在⽂档内部,也可以另外写⼀个⽂件
⽂档内部
]>
ll
zh
DTD包含在以上格式的声明中
元素声明]>
外部⽂档
如果DTD位于XML源⽂件外部,应该封装在⼀个DTD⽂档中,并在XML中声明
DTD结构
元素声明的语法格式
元素内容说明的格式
#PCDATA
关键字#PCDATA说明元素包含字符数据,内容只能是字符数据
例:
]>
张三
⼦元素
说明元素包含的是⼦元素。当⼀个元素只包含⼦元素时⽽没有字符数据时,表⽰此元素类型具有元素
型类型。在该类型的元素声明时,通过内容模型来指定在其内容上的约束(内容模型是决定⼦元素类型和⼦元素出现顺序的⼀种简单语法)
例:
]>
ll
zh
复杂⼀些的内容模型为
混合内容
既可以包含⼦元素,也可以包含字符数据(使⽤混合内容模型时,#PCDATA关键字必须是模型中的第⼀个选项,不能再模型中使⽤逗号、问号或加号。只能⽤竖线来分隔#PCDATA和元素)
]>
邮件
EMPTY
关键字EMPTY表明该元素既不包含字符数据,也不包含⼦元素,是⼀个空元素
例:
ANY
关键字ANY表明该元素可以包含任何字符数据和⼦元素
XML Schema Definition
在DTD之后,W3C推出了新的规范来验证xml格式:XML Schema Definition
Schema语法格式
// 指定了schema中⽤到的元素和数据类型来⾃的命名空间 还规定了来⾃此命名空间的元素和数据类型应该使⽤前缀xs: xmlns:xs="/2001/XMLSchema"
// 说明此schema定义的元素来⾃的命名空间
targetNamespace="/j2j.idril"
// 指定了默认的命名空间
xmlns="j2j.idril"
// 指出任何XML实例⽂档所使⽤的且在此schema中声明过的元素必须被命名空间限定
java xml是什么elementFormDefault="qualified">
// 简易元素(仅包含⽂本的元素,不会包含⼦元素或属性)
// 常⽤的type有xs:strig、xs:decimal、xs:integer、xs:Boolean、xs:date、xs:time
// 属性
// 常⽤的type有xs:strig、xs:decimal、xs:integer、xs:Boolean、xs:date、xs:time
// 限定 ⽤于XML元素或者属性定义可接受的值
// 复合元素
Schema的使⽤
同样的,在xml中需要声明Schema
ll
zh
// 规定了默认的命名空间的声明
xmlns="j2j.idril"
// 定义了XML Schema实例命名空间
xmlns:xsi="/2001/XMLSchema-instance"
// 包含两个值 第⼀个值是需要使⽤的命名空间 第⼆个值是供命名空间使⽤的XML Schema的位置
xsi:schemaLocation="j2j.idril node.xsd"
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论