使用Apache xercesc验证XML文件的Schema

来源:互联网 发布:linux如何查看网络连接 编辑:程序博客网 时间:2024/04/30 17:12

 

-------------------------booklist.xsd----------------------------------------

<?xml version="1.0" encoding="GB2312"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
 <xs:element name="booklist">
  <xs:complexType>
   <xs:sequence>
    <xs:element name="book" type="bookType" maxOccurs="unbounded"/>
   </xs:sequence>
  </xs:complexType>
 </xs:element>
 <xs:complexType name="bookType">
  <xs:sequence>
   <xs:element name="ISBN" type="xs:string"/>
   <xs:element name="title" type="xs:string"/>
   <xs:element name="authorlist" type="authorlistType"/>
   <xs:element name="price" type="xs:decimal"/>
  </xs:sequence>
  <xs:attribute name="classify" use="required">
   <xs:simpleType>
    <xs:restriction base="xs:string">
     <xs:enumeration value="社会科学"/>
     <xs:enumeration value="自然科学"/>
    </xs:restriction>
   </xs:simpleType>
  </xs:attribute>
 </xs:complexType>
 <xs:complexType name="authorlistType">
  <xs:sequence maxOccurs="4">
   <xs:element name="author" type="xs:string"/>
  </xs:sequence>
 </xs:complexType>
</xs:schema>

-------------------------------booklist.xml--------------------------------

<?xml version="1.0" encoding="GB2312"?>
<booklist xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="booklist.xsd">
 <book classify="自然科学">
  <ISBN>7-302-12066-8</ISBN>
  <title>JAVA使用教程</title>
  <authorlist>
   <author>Herbert Scihldt</author>
   <author>马海军</author>
  </authorlist>
  <price>64.00</price>
 </book>
 <book classify="社会科学">
  <ISBN>7-5037-1978</ISBN>
  <title>投资学</title>
  <authorlist>
   <author>张中华</author>
   <author>谢老三</author>
  </authorlist>
  <price>19.00</price>
 </book>
</booklist>
使用如下命令行参数验证booklist.xml是否符合booklist.xsd

booklist.xml booklist.xsd

如果验证成功提示验证成功,否则出现异常