1、挑选你熟悉省份,制作xml城市列表 ----- 必备城市基本信息 10个城市 --- 一定要有属性
2、对城市列表 添加DTD约束
3、选作:对城市列表添加Schema约束
province-dtd.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE provinces SYSTEM "province.dtd"> <provinces> <province> <city> <country> <name>睢县</name> <address>North</address> </country> <country> <name>柘城</name> <address>North</address> </country> <name>商丘</name> <zipcode>476900</zipcode> </city> <city> <country> <name>杞县</name> <address>North</address> </country> <country> <name>兰考</name> <address>North</address> </country> <name>开封</name> <zipcode>476500</zipcode> </city> <city> <country> <name>登封市</name> <address>North</address> </country> <country> <name>中牟县</name> <address>North</address> </country> <name>郑州市</name> <zipcode>450000</zipcode> </city> <city> <country> <name>封丘市</name> <address>North</address> </country> <country> <name>长垣县</name> <address>North</address> </country> <name>新乡市</name> <zipcode>453000</zipcode> </city> <city> <country> <name>灵宝市</name> <address>North</address> </country> <country> <name>义马市</name> <address>North</address> </country> <name>三门峡市</name> <zipcode>472000</zipcode> </city> <city> <country> <name>汝阳县</name> <address>North</address> </country> <country> <name>嵩县</name> <address>North</address> </country> <name>洛阳市</name> <zipcode>471000</zipcode> </city> <city> <country> <name>鹿邑县</name> <address>North</address> </country> <country> <name>太康县</name> <address>North</address> </country> <name>周口市</name> <zipcode>466000</zipcode> </city> <city> <country> <name>郏 县</name> <address>North</address> </country> <country> <name>鲁山县</name> <address>North</address> </country> <name>平顶山市</name> <zipcode>472000</zipcode> </city> </province> </provinces>
province.dtd
<?xml version="1.0" encoding="UTF-8"?> <!ELEMENT provinces (province)> <!ELEMENT province (city+)> <!ELEMENT city (country+,name,zipcode)> <!ELEMENT country (name,address)> <!ELEMENT name (#PCDATA)> <!ELEMENT address (#PCDATA)> <!ELEMENT zipcode (#PCDATA)>
province.xml
<?xml version="1.0" encoding="UTF-8"?> <provinces xmlns="http://www.huanghuai.edu.cn/provinces" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.huanghuai.edu.cn/provinces province.xsd"> <province> <city name="商丘"> <country> <name>睢县</name> <address>North</address> </country> <country> <name>柘城</name> <address>North</address> </country> <zipcode>476900</zipcode> </city> <city name="开封"> <country> <name>杞县县</name> <address>North</address> </country> <country> <name>兰考</name> <address>North</address> </country> <zipcode>476500</zipcode> </city> <city name="郑州市"> <country> <name>登封市</name> <address>450000</address> </country> <country> <name>中牟县</name> <address>North</address> </country> <zipcode>450000</zipcode> </city> <city name="新乡市"> <country> <name>封丘县</name> <address>North</address> </country> <country> <name>长垣县</name> <address>North</address> </country> <zipcode>453000</zipcode> </city> <city name="三门峡市"> <country> <name>义马市</name> <address>North</address> </country> <country> <name>灵宝市</name> <address>North</address> </country> <zipcode>472000</zipcode> </city> <city name="洛阳市"> <country> <name>嵩县</name> <address>North</address> </country> <country> <name>汝阳县</name> <address>North</address> </country> <zipcode>471000</zipcode> </city> <city name="周口市"> <country> <name>太康县</name> <address>North</address> </country> <country> <name>鹿邑县</name> <address>North</address> </country> <zipcode>466000</zipcode> </city> <city name="平顶山市"> <country> <name>鲁山县</name> <address>North</address> </country> <country> <name>郏 县</name> <address>North</address> </country> <zipcode>467000</zipcode> </city> </province> </provinces>
province.xsd
<?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.huanghuai.edu.cn/provinces" xmlns:tns="http://www.huanghuai.edu.cn/provinces" elementFormDefault="qualified"> <element name="provinces"> <complexType> <sequence> <element name="province" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <element name="city" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <element name="country" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <element name="name" type="string"></element> <element name="address" type="string"></element> </sequence> </complexType> </element> <element name="zipcode" type="string"></element> </sequence> <attribute name="name" type="string"></attribute> </complexType> </element> </sequence> </complexType> </element> </sequence> </complexType> </element> </schema>