<?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.
-->
<entity-engine-xml>
    <PortletCategory portletCategoryId="CONTENT" description="CMS Portlets"/>

    <PortalPortlet portalPortletId="showContent"
        portletName="Show Content" description="Shows a content in a Portal page"
        screenName="ShowContentPortlet" screenLocation="component://content/widget/content/ContentScreens.xml"
        editFormName="EditShowContentPortlet" editFormLocation="component://content/widget/content/ContentForms.xml"/>
    <PortletPortletCategory portalPortletId="showContent" portletCategoryId="CONTENT"/>
</entity-engine-xml>
