<?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.
 *
 ***********************************************************-->
<description xmlns="http://openoffice.org/extensions/description/2006"
    xmlns:d="http://openoffice.org/extensions/description/2006"
    xmlns:xlink="http://www.w3.org/1999/xlink">
  <display-name>
    <name lang="en-US">Report Builder</name>
    <!-- <name lang="en-US">Oracle(TM) Report Builder</name> -->
  </display-name>
  <registration>
    <simple-license accept-by="admin" default-license-id="lic-en-US" suppress-if-required="true" >
            <license-text xlink:href="licensefile" lang="isocode" license-id="lic-isocode"/>
    </simple-license>
  </registration>
  <version value="#VERSION#"/>
  <identifier value="com.sun.reportdesigner"/>
  <dependencies>
    <OpenOffice.org-minimal-version value="3.2" d:name="OpenOffice.org 3.2"/>
  </dependencies>
  <publisher>
    <name xlink:href="http://www.oracle.com/us/products/applications/open-office" lang="en">Oracle</name>
  </publisher>
  <icon>
    <default xlink:href="images/extension_32.png" />
    <high-contrast xlink:href="images/extension_32_h.png" />
  </icon>
  <extension-description>
    <src xlink:href="help/component.txt" lang="en" />
  </extension-description>
</description>
