<?xml version="1.0" encoding="UTF-8"?>
<!--
   ====================================================================
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You 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">

  <xb:namespace uri="urn:schemas-microsoft-com:office:office">
    <xb:package>com.microsoft.schemas.office.office</xb:package>
  </xb:namespace>

  <xb:namespace uri="urn:schemas-microsoft-com:office:excel">
    <xb:package>com.microsoft.schemas.office.excel</xb:package>
  </xb:namespace>

  <xb:namespace uri="urn:schemas-microsoft-com:office:word">
    <xb:package>com.microsoft.schemas.office.word</xb:package>
  </xb:namespace>

  <xb:namespace uri="urn:schemas-microsoft-com:office:powerpoint">
    <xb:package>com.microsoft.schemas.office.powerpoint</xb:package>
  </xb:namespace>

  <xb:namespace uri="urn:schemas-microsoft-com:vml">
    <xb:package>com.microsoft.schemas.vml</xb:package>
  </xb:namespace>

</xb:config>