<?xml version="1.0" encoding="UTF-8"?>
<site
    digestURL="http://download.eclipse.org/webtools/testUpdates/"
    pack200="true"
    mirrorsURL="http://www.eclipse.org/downloads/download.php?file=/webtools/testUpdates/site.xml&amp;format=xml">
    <description
        url="http://download.eclipse.org/webtools/testUpdates/index.html">
        The update site contains the features of the of Eclipse Web
        Tools Project (WTP)
    </description>



    <feature
        id="org.eclipse.wst"
        url="features/org.eclipse.wst_1.5.4.v200704200440-X3TmzmK-W-vP-Fs.jar"
        version="1.5.4.v200704200440-X3TmzmK-W-vP-Fs">
        <category name="Web Tools Platform (WTP)" />
    </feature>

    <feature
        id="org.eclipse.jst"
        url="features/org.eclipse.jst_1.5.4.v200704150219-kW-NuyxHh4-w7-n.jar"
        version="1.5.4.v200704150219-kW-NuyxHh4-w7-n">
        <category name="Web Tools Platform (WTP)" />
    </feature>

    <feature
        id="org.eclipse.wst.sdk"
        url="features/org.eclipse.wst.sdk_1.5.4.v200704200440-O2U9jyC-ZDAHEgs.jar"
        version="1.5.4.v200704200440-O2U9jyC-ZDAHEgs">
        <category name="Web Tools Platform (WTP)" />
    </feature>

    <feature
        id="org.eclipse.jst.sdk"
        url="features/org.eclipse.jst.sdk_1.5.4.v200704150219-dnUU6nyMbgExb_A.jar"
        version="1.5.4.v200704150219-dnUU6nyMbgExb_A">
        <category name="Web Tools Platform (WTP)" />
    </feature>

    <feature
        id="org.apache.commons_logging.feature"
        url="features/org.apache.commons_logging.feature_1.0.4.v200606152055--0842282_233879.jar"
        version="1.0.4.v200606152055--0842282_233879">
        <category name="Enabling Features" />
    </feature>

    <feature
        id="org.apache.jakarta_log4j.feature"
        url="features/org.apache.jakarta_log4j.feature_1.2.8.v200605300321--0842282939426_.jar"
        version="1.2.8.v200605300321--0842282939426_">
        <category name="Enabling Features" />
    </feature>

    <feature
        id="org.apache.xerces.feature"
        url="features/org.apache.xerces.feature_2.8.0.v200605151647--08422828353873.jar"
        version="2.8.0.v200605151647--08422828353873">
        <category name="Enabling Features" />
    </feature>


    <feature
        id="org.eclipse.jem"
        patch="false"
        url="features/org.eclipse.jem_1.2.4.v200704181020--6zXJK0L0SE3a95.jar"
        version="1.2.4.v200704181020--6zXJK0L0SE3a95">
        <category name="Enabling Features" />
    </feature>
    <feature
        id="org.eclipse.jem.sdk"
        url="features/org.eclipse.jem.sdk_1.2.4.v200704140333-GIHlkYKbOQv_rA7.jar"
        version="1.2.4.v200704140333-GIHlkYKbOQv_rA7">
        <category name="Enabling Features" />
    </feature>

    <category-def
        label="Enabling Features"
        name="Enabling Features">
        <description
            url="http://download.eclipse.org/webtools/updates/index.html">
            This category contains features used by WTP or even other
            projects that enable some functionality, but which by
            themselves are not very interesting.
        </description>
    </category-def>


    <category-def
        label="Web Tools Platform (WTP)"
        name="Web Tools Platform (WTP)">
        <description
            url="http://download.eclipse.org/webtools/updates/index.html">
            This category contains the features of the Eclipse Web Tools
            Project (WTP).
        </description>
    </category-def>

</site>
