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

<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://ofbiz.apache.org/Widget-Screen" xsi:schemaLocation="http://ofbiz.apache.org/Widget-Screen http://ofbiz.apache.org/dtds/widget-screen.xsd">
    <screen name="ContentOnly">
        <section>
            <widgets>
                <sub-content content-id="${contentId}" map-key="MAIN" enable-edit-name="enableEdit" edit-request="EditBlogText?contentContentId=${parameters.contentContentId}&amp;contentContentIdTo=${parameters.contentContentIdTo}&amp;contentDataResourceId=${parameters.contentDataResourceId}&amp;contentContentAssocTypeId=${parameters.contentContentAssocTypeId}&amp;contentFromDate=${parameters.contentFromDate}"/>
            </widgets>
        </section>
    </screen>

    <screen name="FloatLeft">
        <section>
            <widgets>
                <container style="floatleft">
                    <sub-content content-id="${contentId}" map-key="IMAGE" enable-edit-name="enableEdit" edit-request="EditBlogImage?contentContentId=${parameters.contentContentId}&amp;contentContentIdTo=${parameters.contentContentIdTo}&amp;contentDataResourceId=${parameters.contentDataResourceId}&amp;contentContentAssocTypeId=${parameters.contentContentAssocTypeId}&amp;contentFromDate=${parameters.contentFromDate}"/>
                </container>
                <sub-content content-id="${contentId}" map-key="MAIN" enable-edit-name="enableEdit" edit-request="EditBlogText?contentContentId=${parameters.contentContentId}&amp;contentContentIdTo=${parameters.contentContentIdTo}&amp;contentDataResourceId=${parameters.contentDataResourceId}&amp;contentContentAssocTypeId=${parameters.contentContentAssocTypeId}&amp;contentFromDate=${parameters.contentFromDate}"/>
                <sub-content content-id="${contentId}" map-key="ARTICLE" enable-edit-name="enableEdit" edit-request="EditBlogText?contentContentId=${parameters.contentContentId}&amp;contentContentIdTo=${parameters.contentContentIdTo}&amp;contentDataResourceId=${parameters.contentDataResourceId}&amp;contentContentAssocTypeId=${parameters.contentContentAssocTypeId}&amp;contentFromDate=${parameters.contentFromDate}"/>
            </widgets>
        </section>
    </screen>

    <screen name="TopCenter">
        <section>
            <widgets>
                <container style="topcentered">
                    <sub-content content-id="${contentId}" map-key="IMAGE" enable-edit-name="enableEdit" edit-request="EditBlogImage?contentContentId=${parameters.contentContentId}&amp;contentContentIdTo=${parameters.contentContentIdTo}&amp;contentDataResourceId=${parameters.contentDataResourceId}&amp;contentContentAssocTypeId=${parameters.contentContentAssocTypeId}&amp;contentFromDate=${parameters.contentFromDate}"/>
                </container>
                <label text="&lt;p/&gt;"/>
                <label text="&lt;br/&gt;"/>
                <sub-content content-id="${contentId}" map-key="MAIN" enable-edit-name="enableEdit" edit-request="EditBlogText?contentContentId=${parameters.contentContentId}&amp;contentContentIdTo=${parameters.contentContentIdTo}&amp;contentDataResourceId=${parameters.contentDataResourceId}&amp;contentContentAssocTypeId=${parameters.contentContentAssocTypeId}&amp;contentFromDate=${parameters.contentFromDate}"/>
                <sub-content content-id="${contentId}" map-key="ARTICLE" enable-edit-name="enableEdit" edit-request="EditBlogText?contentContentId=${parameters.contentContentId}&amp;contentContentIdTo=${parameters.contentContentIdTo}&amp;contentDataResourceId=${parameters.contentDataResourceId}&amp;contentContentAssocTypeId=${parameters.contentContentAssocTypeId}&amp;contentFromDate=${parameters.contentFromDate}"/>
            </widgets>
        </section>
    </screen>
</screens>
