Schema for address : Useful Simple Type « XML Schema « XML

XML
1. CSS Style
2. SVG
3. XML Schema
4. XQuery
5. XSLT stylesheet
Java
XML Tutorial
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / C Sharp
C# / CSharp Tutorial
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
XML » XML Schema » Useful Simple Type 
Schema for address


File: Data.xml

<?xml version="1.0"?>
<addr:address xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.java2java.com 
      Schema.xsd"
    xmlns:addr="http://www.java2java.com"
    addr:language="en"
    addr:ssn="123-45-6789">
  <fullName>
    <first>first</first>
    <middle>middle</middle>
    <last>last</last>
  </fullName>
  <contacts>
    <phone addr:location="home" addr:number="111.222.3333"/>
  </contacts>
</addr:address>

File: Schema.xsd
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  targetNamespace="http://www.java2java.com"
  xmlns:addr="http://www.java2java.com"
  attributeFormDefault="qualified">
 <xsd:element name="address">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element name="fullName">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="first" type="addr:nameComponent"/>
            <xsd:element name="middle" type="addr:nameList"
                minOccurs="0"/>
            <xsd:element name="last" type="addr:nameComponent"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="contacts" type="addr:contactsType" minOccurs="0"/>
      <xsd:element name="notes" minOccurs="0">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:any namespace="http://www.w3.org/1999/xhtml"
                 minOccurs="0" maxOccurs="unbounded"
                 processContents="skip"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  <xsd:attributeGroup ref="addr:nationality"/>
  <xsd:attribute name="ssn" type="addr:ssn"/>
  <xsd:anyAttribute namespace="http://www.w3.org/1999/xlink"
      processContents="skip"/>
  </xsd:complexType>
 </xsd:element>
 
 <xsd:complexType name="nameComponent">
  <xsd:simpleContent>
    <xsd:extension base="addr:nameString"/>
  </xsd:simpleContent>
 </xsd:complexType>

 <xsd:complexType name="nameList">
  <xsd:simpleContent>
    <xsd:extension base="addr:nameListType"/>
  </xsd:simpleContent>
 </xsd:complexType>
 
 <xsd:simpleType name="nameListType">
  <xsd:list itemType="addr:nameString"/>
 </xsd:simpleType>
 
 <xsd:simpleType name="nameString">
  <xsd:restriction base="xsd:string">
    <xsd:maxLength value="50"/>
  </xsd:restriction>
 </xsd:simpleType>
 
 <xsd:simpleType name="ssn">
  <xsd:restriction base="xsd:string">
    <xsd:pattern value="\d\d\d-\d\d-\d\d\d\d"/>
  </xsd:restriction>
 </xsd:simpleType>
 
  <xsd:complexType name="contactsType">
    <xsd:sequence>
      <xsd:element name="phone" minOccurs="0">
        <xsd:complexType>
          <xsd:complexContent>
            <xsd:restriction base="xsd:anyType">
              <xsd:attribute name="location">
                <xsd:simpleType>
                  <xsd:union memberTypes="addr:locationType xsd:NMTOKEN"/>
                </xsd:simpleType>
              </xsd:attribute>
              <xsd:attribute name="number" type="xsd:string"/>
            </xsd:restriction>
          </xsd:complexContent>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:simpleType name="locationType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="work"/>
      <xsd:enumeration value="home"/>
      <xsd:enumeration value="mobile"/>
    </xsd:restriction>      
  </xsd:simpleType>
  
 <xsd:attributeGroup name="nationality">
  <xsd:attribute name="language" type="xsd:language"/>
 </xsd:attributeGroup>
</xsd:schema>

 
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. Define xml schema for a styled letter
8. Canadian addresses require the name of a province, plus a postal code
9. Our addresses in Great Britain
10. extended datatype for the US addresses:
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
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.