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

    <identifier value="UPDATED_IDENTIFIER"/>
    <version value="#VERSION#" />
    <platform value="UPDATED_SUPPORTED_PLATFORM" />
    <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>
    <display-name>
        <name lang="en-US">#TITLE#</name>
    </display-name>
    <dependencies>
         <OpenOffice.org-minimal-version value="3.1" d:name="OpenOffice.org 3.1"/>
    </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 lang="#LANG#" xlink:href="description/description_#LANG#.txt"/>
    </extension-description>
</description>
