<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--
/*
 * $Id$
 *
 * 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 tiles-definitions PUBLIC
       "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
       "http://tiles.apache.org/dtds/tiles-config_2_0.dtd">

<!-- Definitions for Tiles documentation   -->

<tiles-definitions>

  <!-- =======================================================  -->
  <!-- Master definition  									-->
  <!-- =======================================================  -->

  <!-- Doc index page description  -->
  <definition name="test.inner.definition" template="/layout.jsp">
      <put-attribute name="title"  value="This is a configured inner definition."/>
      <put-attribute name="header" value="/header.jsp"/>
      <put-attribute name="body"   value="/body.jsp"/>
  </definition>

  <definition name="test.definition" template="/layout.jsp">
      <put-attribute name="title"  value="This is the title."/>
      <put-attribute name="header" value="/header.jsp"/>
      <put-attribute name="body"   value="/body.jsp"/>
  </definition>

  <definition name="test.definition.freemarker" template="/layout.ftl">
      <put-attribute name="title"  value="This is the title."/>
      <put-attribute name="header" value="/header.jsp"/>
      <put-attribute name="body"   value="/body.jsp"/>
  </definition>

  <definition name="test.definition.flush" template="/layout_flush.jsp">
      <put-attribute name="title"  value="This is the title."/>
      <put-attribute name="header" value="/header.jsp"/>
      <put-attribute name="body"   value="/body.jsp"/>
  </definition>

  <definition name="test.definition.exception" template="/layout.jsp">
      <put-attribute name="title"  value="This is the title."/>
      <put-attribute name="header" value="/exception.jsp"/>
      <put-attribute name="body"   value="/body.jsp"/>
  </definition>

  <definition name="test.composite.definition" template="/layout.jsp">
      <put-attribute name="title"  value="This is a configured composite definition."/>
      <put-attribute name="header" value="/header.jsp"/>
      <put-attribute name="body"   value="test.inner.definition"/>
  </definition>

  <definition name="test.putAttributes" template="/putattributeslayout.jsp">
    <put-attribute name="stringTest" value="This is a string" type="string" />
    <put-list-attribute name="list">
      <add-attribute value="valueOne" type="string" />
      <add-attribute value="valueTwo" type="string" />
      <add-attribute value="valueThree" type="string" />
    </put-list-attribute>
  </definition>

  <definition name="test.putAllAttributes" template="/putallattributeslayout.jsp">
    <put-attribute name="one" value="There should be three more strings" type="string" />
    <put-attribute name="two" value="One" type="string" />
    <put-attribute name="three" value="Two" type="string" />
    <put-attribute name="four" value="Three" type="string" />
  </definition>

  <definition name="preparer.definition" template="/layout.jsp">
      <put-attribute name="title"  value="This is the title."/>
      <put-attribute name="header" value="/header.jsp"/>
  </definition>

    <definition name="testdispatchservlet" extends="test.definition"/>

  <definition name="preparer.definition.configured" extends="preparer.definition" preparer="org.apache.tiles.test.preparer.TestViewPreparer" />
  
  <definition name="test.localized.definition" template="/layout.jsp">
      <put-attribute name="title" value="Default locale" />
      <put-attribute name="header" value="/header.jsp" />
      <put-attribute name="body" value="/defaultlocale.jsp" />
  </definition>

  <definition name="test.definition.appears" extends="test.definition">
      <put-attribute name="title"  value="This definition appears."/>
  </definition>

  <definition name="test.definition.does_not_appear" extends="test.definition">
      <put-attribute name="title"  value="This definition does not appear."/>
  </definition>

  <definition name="test.definition.appears.configured"
    extends="test.definition.appears" role="goodrole" />

  <definition name="test.definition.does_not_appear.configured"
    extends="test.definition.does_not_appear" role="badrole" />

  <definition name="test.definition.roles" template="/layout.jsp">
      <put-attribute name="title"  value="This is the title."/>
      <put-attribute name="header" value="/header.jsp" role="goodrole" />
      <put-attribute name="body"   value="/body.jsp" role="badrole" />
  </definition>
</tiles-definitions>
