<?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>

