这段时间有点想写一个持久化框架,框架里自然少不了XML,自然需要自定义XML标签,这时候XSD进入了学习的范畴.
XSD的概念
XML Schema 是DTD的替代品, 它描述了XML文档的结构。可以用一个指定的XML Schema来验证某个XML文档,以检查该XML文档是否符合其要求。文档设计者可以通过XML Schema指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的。XML Schema本身是一个XML文档,它符合XML语法结构。可以用通用的XML解析器解析它
我写这个并不是要讲XSD的语法,而是要说写好的XSD,XML怎么发现并实现标签的自动验证和补全,直接上代码
XSD文件order.xsd:
<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified"> <xsd:element name="order"> <xsd:complexType> <xsd:sequence> <xsd:element name="orderItem" type="xsd:string" maxOccurs="10"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema>
XML文件:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <order xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="order.xsd"> </order>
把XSD文件,XML文件放在同一个文件夹,在XML文件的order标签里输入<后,Eclipse就会提示orderItem,非常方便
注意:
xsi:noNamespaceSchemaLocation="customer.xsd"指定了xsd文件的路径