根据Schema写出xsd xml约束文档来,难点在于xml文件如何引入schema约束,下面分享一个例子
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.itheima.com/book" elementFormDefault="qualified">
<element name='书架'>
<complexType>
<sequence maxOccurs='unbounded'>
<element name='书'>
<complexType>
<sequence>
<element name='书名' type='string' />
<element name='作者' type='string' />
<element name='售价' type='string' />
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</schema>
xml中引入schema约束的步骤:
1、查看schema文档,找到根元素,在xml中写出来
<?xml version="1.0" encoding="UTF-8"?>
<书架>
</书架>
2、根元素来自哪个名称空间。使用xmlns指令来声明
名称空间是在schema中定义的,就是targetNamespace的值
<?xml version="1.0" encoding="UTF-8"?>
<itheima:书架 xmlns:itheima="http://www.itheima.com/book">
</itheima:书架>
3、引入的名称空间和哪个xsd文件对应?
使用schemaLocation来指定:两个取值:第一个为名称空间 第二个为xsd文件的路径
<?xml version="1.0" encoding="UTF-8"?>
<itheima:书架 xmlns:itheima="http://www.itheima.com/book" schemaLocation="http://www.itheima.com/book book.xsd">
</itheima:书架>
4、schemaLocation哪里来的?它来自一个标准的名称空间
<?xml version="1.0" encoding="UTF-8"?>
<itheima:书架 xmlns:itheima="http://www.itheima.com/book" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.itheima.com/book book.xsd">
</itheima:书架>
5、只要以上4部搞好了,对于子标签eclipse就有提示了
右击xml—–eclipse——Run Validation
1、xsd约束文档
2、xsd实例对象
3、xsd实例对象里面的约束引用规则 (1)名称空间:一般是域名 (2)xsd文件路径:xsd文件路径是和空间名称对应的,xsd文件路径包含空间名称和xsd存放的路径; (3)schemalocation:xsd文件的标准路径