<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
<!--
    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.
	   
-->
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
          xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"
          xmlns:trh="http://myfaces.apache.org/trinidad/html"
          xmlns:tr="http://myfaces.apache.org/trinidad">
  <jsp:directive.page contentType="text/html;charset=utf-8"/>
  <f:view>
    <trh:html>
      <trh:head title="Train Demo"/>
      <trh:body>
        <tr:form>
          <tr:panelGroupLayout layout="vertical">
            <f:facet name="separator">
              <tr:separator/>
            </f:facet>
            <tr:panelGroupLayout layout="horizontal">
              <tr:commandLink immediate="true" text="Component Guide" action="guide"/>
              <tr:spacer width="10"/>
              <tr:goLink destination="http://myfaces.apache.org/trinidad/trinidad-api/tagdoc/tr_train.html"
                         text="Tag Documentation"/>
              <tr:spacer width="10"/>
              <tr:goLink destination="http://myfaces.apache.org/trinidad/skin-selectors.html#train"
                         text="Skinning Key Documentation"/>
            </tr:panelGroupLayout>
            <tr:outputFormatted styleUsage="instruction" value="&lt;b>SubTrain A&lt;/b>"/>
            <tr:train var="foo" value="#{processTrainMenuModel}">
              <f:facet name="nodeStamp">
                <tr:commandNavigationItem text="#{foo.label}" action="#{foo.getOutcome}"
                                          immediate="#{processTrainMenuModel.immediate}"
                                          disabled="#{processTrainMenuModel.readOnly}"
                                          visited="#{processTrainMenuModel.visited}"/>
              </f:facet>
            </tr:train>
          </tr:panelGroupLayout>
        </tr:form>
      </trh:body>
    </trh:html>
  </f:view>
</jsp:root>
