<?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.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
 xmlns:h="http://java.sun.com/jsf/html"
 xmlns:f="http://java.sun.com/jsf/core"
 xmlns:c="http://java.sun.com/jsp/jstl/core"
 xmlns:ui="http://java.sun.com/jsf/facelets"
 >
<body>
<ui:composition>
    <h1>Myfaces Flow Examples</h1>
    <h2>begin.xhtml</h2>
    <h:form id="mainForm">
        <h:commandButton value="End" action="content"/>
        
        <h:commandButton id="call_flow2" value="Start Flow 2" action="call_flow2"/>
        <h:commandButton id="end_flow" value="End" action="end"/>
        <h:commandButton id="back_flow" value="Back" action="back"/>
        <h:commandButton id="go_flow_base" value="Go to base" action="flow_base"/>
    </h:form>
    <!-- resolve outcome is quite useful to check how the flow target is resolved -->
    <h:link outcome="end" value="End Outcome Link"/>
</ui:composition>
</body>
</html>
