| <?xml version="1.0"?> |
| <!-- |
| |
| Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved. |
| |
| This program and the accompanying materials are made available under the |
| terms of the Eclipse Public License v. 2.0 which is available at |
| http://www.eclipse.org/legal/epl-2.0, |
| or the Eclipse Distribution License v. 1.0 which is available at |
| http://www.eclipse.org/org/documents/edl-v10.php. |
| |
| SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause |
| |
| --> |
| |
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> |
| <xs:element name="employee"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="id" type="id-type" minOccurs="0"/> |
| <xs:element name="name" type="xs:string" minOccurs="1"/> |
| <xs:element name="home-address" type="address-type" minOccurs="0"/> |
| <xs:element name="work-address" type="address-type" minOccurs="0"/> |
| <xs:element name="phone" type="phone-type" minOccurs="0"/> |
| <xs:element name="badge-id" type="xs:ID" minOccurs="0"/> |
| <xs:element name="job" minOccurs="0"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="title" type="xs:string" minOccurs="0"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:simpleType name="id-type"> |
| <xs:restriction base = "xs:integer"> |
| <xs:maxInclusive value="999999"/> |
| </xs:restriction> |
| </xs:simpleType> |
| |
| <xs:simpleType name="phone-type"> |
| <xs:restriction base = "xs:string"> |
| <xs:maxLength value="10"/> |
| </xs:restriction> |
| </xs:simpleType> |
| |
| <xs:complexType name="address-type"> |
| <xs:sequence> |
| <xs:element name="street" type="xs:string"/> |
| <xs:element name="city" type="xs:string"/> |
| <xs:element name="state" type="xs:string"/> |
| <xs:element name="zip-code" type="xs:string" minOccurs="1"/> |
| </xs:sequence> |
| </xs:complexType> |
| |
| <xs:complexType name="po-box-address-type"> |
| <xs:complexContent> |
| <xs:extension base = "address-type"> |
| <xs:sequence> |
| <xs:element name="rrnum" type="xs:string" minOccurs="1"/> |
| <xs:element name="po-box" type="xs:string" minOccurs="1"/> |
| </xs:sequence> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:schema> |