File: Schema.xsd <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.java2s.com" xmlns="http://www.java2s.com" elementFormDefault="qualified"> <xs:simpleType name="zipcodeType"> <xs:restriction base="xs:string"> <xs:pattern value="\d{5}(-\d{4})?" /> </xs:restriction> </xs:simpleType> <xs:element name="zipcode" type="zipcodeType" /> </xs:schema> File: Data.xml (Both of these zipcode elements are valid.) <?xml version="1.0"?> <zipcode>11111</zipcode> <zipcode>11111-0987</zipcode> File: Data.xml (Both of these zipcode elements are invalid.) <?xml version="1.0"?> <zipcode>1111-12349</zipcode> <zipcode>111001</zipcode>