<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2004 The Apache Software Foundation

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

         http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License. -->

<nw:nameworld xmlns:nw="http://openuri.org/nameworld"
              xmlns:foo="http://foo.com/"
              xmlns:bar="http://bar.com/">

  <nw:island targetNamespace="http://foo.com/">
    <nw:location name="foocity">
      <nw:reference to="bar:barcity"/>
      <nw:reference to="foo:footown"/>
      <nw:reference to="bar:barvillage"/>
    </nw:location>
    <nw:location name="footown">
      <nw:reference to="bar:bartown"/>
      <nw:reference to="foo:foovillage"/>
    </nw:location>
    <nw:location name="foovillage">
      <nw:reference to="bar:barvillage"/>
    </nw:location>
  </nw:island>

  <nw:island targetNamespace="http://bar.com/">
    <nw:location name="barcity">
      <nw:reference to="foo:foocity"/>
      <nw:reference to="bar:bartown"/>
      <nw:reference to="foo:foovillage"/>
    </nw:location>
    <nw:location name="bartown">
      <nw:reference to="foo:footown"/>
      <nw:reference to="bar:barvillage"/>
    </nw:location>
    <nw:location name="barvillage">
      <nw:reference to="foo:foovillage"/>
    </nw:location>
  </nw:island>
</nw:nameworld>