<?xml version="1.0" encoding="utf-8"?>
<!--

    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<!--
  - JSPX Testcase.
  -->
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:jsp="http://java.sun.com/JSP/Page"
      xmlns:el="urn:jsptld:/WEB-INF/tlds/myTag.tld">

    <jsp:scriptlet>
        pageContext.setAttribute("eval", "Evaluated", PageContext.PAGE_SCOPE);
    </jsp:scriptlet>

  <head>
    <title>Test</title>
  </head>

  <body>
        <el:dependent echo="ELvalue1 ${3 * 5}">
            ELExpression ${pageScope.eval}
            <el:dependent/>
            <jsp:scriptlet>
                out.println("Scriptlet in tagdependent body");
            </jsp:scriptlet>
            <jsp:useBean id="date" class="java.util.Date"/>
            <jsp:getProperty name="date" property="time"/>
            <el:dependent>ELExpression ${pageScope.eval}</el:dependent>
            <el:dependent>
                ELExpression ${pageScope.eval}
                <el:dependent>NESTED</el:dependent>
            </el:dependent>
                After NESTED.
                Expression in tagdependent body <jsp:expression>10 * 1000</jsp:expression>
        </el:dependent>

        <el:dependent>
            <jsp:attribute name="echo">ELvalue2 ${3 * 6}</jsp:attribute>
            <jsp:attribute name="static">ATT2</jsp:attribute>
            <jsp:body>
                ELExpression ${pageScope.eval}
                <el:dependent>ELExpression ${pageScope.eval}</el:dependent>
                <el:dependent>
                    ELExpression ${pageScope.eval}
                    <el:dependent>
                        Some Text
                        <el:dependent>
                            ELExpression ${pageScope.eval}
                        </el:dependent>
                    </el:dependent>
                </el:dependent>
                ELExpression ${pageScope.eval}
            </jsp:body>
        </el:dependent>
  </body>
</html>

