extended datatype for the US addresses: : Useful Simple Type « XML Schema « XML






extended datatype for the US addresses:


File:  Schema.xsd
<?xml version="1.0" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:complexType name="Address">
    <xs:sequence>
      <xs:element name="Name" type="xs:string" />
      <xs:element name="Street" type="xs:string" minOccurs="1"
        maxOccurs="3" />
      <xs:element name="City" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="MailAddress" type="Address" />
  <xs:element name="BillAddress" type="Address" />
  <xs:simpleType name="USPS_StateCode">
    <xs:restriction base="xs:string">
      <xs:enumeration value="AL" /><!-- Alabama -->
      <xs:enumeration value="AK" /><!-- Alaska -->
      <xs:enumeration value="WY" /><!-- Wyoming -->
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="USPS_ZIP">
    <xs:restriction base="xs:integer">
      <xs:minInclusive value="01000" />
      <xs:maxInclusive value="99999" />
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="USA_Address">
    <xs:complexContent>
      <xs:extension base="Address">
        <xs:sequence>
          <xs:element name="State" type="USPS_StateCode" />
          <xs:element name="ZIP" type="USPS_ZIP" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:schema>

File: Address.xsml 

<?xml version="1.0" ?>
<MailAddress xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xsi:noNamespaceSchemaLocation="Schema.xsd"
         xsi:type="USA_Address">
   <Name>name</Name>
   <Street>123 St.</Street>
   <City>LA</City>
   <State>AL</State>
   <ZIP>11111</ZIP>
</MailAddress>

 








Related examples in the same category

1.Zip code
2.Ocean states
3.Simple type for temperature
4.Simple type for length Units
5.Simple type for weight unit
6.SSN type with pattern
7.Schema for address
8.Define xml schema for a styled letter
9.Canadian addresses require the name of a province, plus a postal code
10.Our addresses in Great Britain
11.IP Addresses
12.Constrain our dotted-quad to use 3-digit numbers in the range 0 to 255
13.IPv6 addresses are easier to describe using a simple regex
14.Domain Names
15.Uniform Resource Identifiers
16.URI schema
17.Use simple strings for these various parts of a person's name
18.Gender code based on xs:nonNegativeInteger
19.telephone numbers
20.US postal address
21.Canadian postal codes are two fixed-length (3-character) codes separated by a single space
22.British postal codes
23.Mexican postal codes are simple five-digit numbers, with the first two digits representing a region, followed by three digits for zone and locality
24.Five-digit ZIP codes