<?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:root xmlns:ns0="rootNamespace" xmlns:x="listOfObjectsNamespace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="stringEmployeeMap">
      <entry>
         <key>Bob</key>
         <value id="10">
            <firstName>Bob</firstName>
            <lastName>Smith</lastName>
            <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>
         </value>
      </entry>
      <entry>
         <key>Bob2</key>
         <value id="100">
           <firstName>Bob2</firstName>
           <lastName>Smith2</lastName>
           <responsibilities>
               <responsibility xmlns:xsd='http://www.w3.org/2001/XMLSchema' xsi:type="xsd:string">Fix Bugs</responsibility>
           </responsibilities>
        </value>
      </entry>
</ns0:root>
