<?xml version = '1.0' encoding = 'UTF-8'?>
<!--

    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

-->

<ns0:EMPLOYEEROOT id="10" BIRTHDAYATTR="2005-05-24T16:06:53" xmlns:ns0="myuri" xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
   <FIRSTNAMEELEM>Bob</FIRSTNAMEELEM>
   <lastname>Smith</lastname>
   <ADDRESSELEM>
      <idid>1</idid>
      <cityNamecityName>Dartmouth</cityNamecityName>
   </ADDRESSELEM>
   <PHONEELEM>1234567</PHONEELEM>
   <responsibilities>
      <responsibility xmlns:xsd='http://www.w3.org/2001/XMLSchema' xsi:type="xsd:string">Fix Bugs</responsibility>
      <responsibility xmlns:xsd='http://www.w3.org/2001/XMLSchema' xsi:type="xsd:string">Write JAXB2.0 Prototype</responsibility>
      <responsibility xmlns:xsd='http://www.w3.org/2001/XMLSchema' xsi:type="xsd:string">Write Design Spec</responsibility>
   </responsibilities>
   <RESPONSIBILITIES2ELEM xmlns:xsd='http://www.w3.org/2001/XMLSchema' xsi:type="xsd:string">Fix Bugs</RESPONSIBILITIES2ELEM>
   <RESPONSIBILITIES2ELEM xmlns:xsd='http://www.w3.org/2001/XMLSchema' xsi:type="xsd:string">Write JAXB2.0 Prototype</RESPONSIBILITIES2ELEM>
   <RESPONSIBILITIES2ELEM xmlns:xsd='http://www.w3.org/2001/XMLSchema' xsi:type="xsd:string">Write Design Spec</RESPONSIBILITIES2ELEM>
</ns0:EMPLOYEEROOT>

