不知道为什么怎么改sche代码都实现不了约束作用,知道在schema前面加了xs:终于可以实现
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3.com"
xmlns="http://www.w3.com"
elementFormDefault="qualified">
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:int"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<!-- xml的schema约束
dtd语法 <!ELEMENT 元素名称 约束>
一个xml可以有多个schema,多个schema使用名称空间区分(类似于java包名)
dtd里面有PCDATA类型但是在schema里面可以支持更多的数据类型
比如年龄 只能是整数 在schema可以直接定义一个整数类型
schema语法更加复杂,schema目前不能替代dtd
-->
<note
xmlns="http://www.w3.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.com note.xsd">
<to>12</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>