<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright 2004 The Apache Software Foundation
  
   Licensed 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.
-->
<!-- $Id$ -->
<!DOCTYPE application PUBLIC 
  "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
  "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">

<application name="Quiz Wap Example" engine-class="org.apache.tapestry.wml.WMLEngine">

    <property name="org.apache.tapestry.template-extension" value="wml"/>

    <property name="org.apache.tapestry.global-class" value="org.apache.tapestry.wap.quiz.Global"/>

    <property name="org.apache.tapestry.visit-class" value="org.apache.tapestry.wap.quiz.Visit"/>

    <library id="wml" specification-path="/org/apache/tapestry/wml/WML.library"/>

</application>
