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

-->

<!DOCTYPE MIME-resolver PUBLIC "-//NetBeans//DTD MIME Resolver 1.0//EN" "http://www.netbeans.org/dtds/mime-resolver-1_0.dtd">

<MIME-resolver>

    <!-- mime type definitions for sun-* descriptor files -->
    <!-- sun-web.xml -->
    <file>
        <ext name="xml"/>
        <resolver mime="text/x-dd-sun-web+xml">
            <xml-rule>
                <element name="sun-web-app"/>
            </xml-rule>
        </resolver>
    </file>

    <file>
        <ext name="xml"/>
        <resolver mime="text/x-dd-sun-web+xml">
            <xml-rule>
                <element name="glassfish-web-app"/>
            </xml-rule>
        </resolver>
    </file>

    <!-- sun-ejb-jar.xml -->
    <file>
        <ext name="xml"/>
        <resolver mime="text/x-dd-sun-ejb-jar+xml">
            <xml-rule>
                <element name="sun-ejb-jar"/>
            </xml-rule>
        </resolver>
    </file>
    
    <file>
        <ext name="xml"/>
        <resolver mime="text/x-dd-sun-ejb-jar+xml">
            <xml-rule>
                <element name="glassfish-ejb-jar"/>
            </xml-rule>
        </resolver>
    </file>

    <!-- sun-application.xml -->
    <file>
        <ext name="xml"/>
        <resolver mime="text/x-dd-sun-application+xml">
            <xml-rule>
                <element name="sun-application"/>
            </xml-rule>
        </resolver>
    </file>
    
    <file>
        <ext name="xml"/>
        <resolver mime="text/x-dd-sun-application+xml">
            <xml-rule>
                <element name="glassfish-application"/>
            </xml-rule>
        </resolver>
    </file>

    <!-- sun-application-client.xml -->
    <file>
        <ext name="xml"/>
        <resolver mime="text/x-dd-sun-app-client+xml">
            <xml-rule>
                <element name="sun-application-client"/>
            </xml-rule>
        </resolver>
    </file>
    
    <file>
        <ext name="xml"/>
        <resolver mime="text/x-dd-sun-app-client+xml">
            <xml-rule>
                <element name="glassfish-application-client"/>
            </xml-rule>
        </resolver>
    </file>
</MIME-resolver>
