<!-- 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. -->
<xb:config xmlns:xb="http://xml.apache.org/xmlbeans/2004/02/xbean/config"
           xmlns:ep="http://openuri.org/easypo">

  <xb:namespace uri="http://openuri.org/easypo">
    <xb:package>com.easypo</xb:package>
  </xb:namespace>

  <xb:namespace uriprefix="http://openuri.org/eas">
    <xb:prefix>Xml</xb:prefix>
  </xb:namespace>

  <xb:namespace uriprefix="http://openuri.org/easy">
    <xb:suffix>Bean</xb:suffix>
  </xb:namespace>

</xb:config>
