<!-- 
  - This example is based off the textRotate.svg example that comes
  - with Batik.  The original example was written by Bill Haneman.
  - This version by Mark Roth.
  -->
<svg xmlns="http://www.w3.org/2000/svg"
     width="450" height="500" viewBox="0 0 450 500"
     xmlns:c="http://java.sun.com/jsp/jstl/core"
     xmlns:fn="http://java.sun.com/jsp/jstl/functions"
     xmlns:jsp="http://java.sun.com/JSP/Page">
  <jsp:directive.page contentType="image/svg+xml" />
  <title>JSP 2.0 JSPX</title>
  <!-- select name parameter, or default to JSPX -->
  <c:set var="name" value='${empty fn:escapeXml(param["name"]) ? "JSPX" : fn:escapeXml(param["name"])}'/>
  <g id="testContent">
    <text class="title" x="50%" y="10%" font-size="15" text-anchor="middle" >
            JSP 2.0 XML Syntax (.jspx) Demo</text>
    <text class="title" x="50%" y="15%" font-size="15" text-anchor="middle" >
            Try changing the name parameter!</text>
    <g opacity="1.0" transform="translate(225, 250)" id="rotatedText">
      <c:forEach var="i" begin="1" end="24">
        <jsp:text>
          <![CDATA[<g opacity="0.95" transform="scale(1.05) rotate(15)">]]>
        </jsp:text>
        <text x="0" y="0" transform="scale(1.6, 1.6)" fill="DarkSlateBlue" 
              text-anchor="middle" font-size="40" font-family="Serif" 
              id="words">${name}</text>
      </c:forEach>
      <c:forEach var="i" begin="1" end="24">
        <jsp:text><![CDATA[</g>]]></jsp:text>
      </c:forEach>
      <text style="font-size:75;font-family:Serif;fill:white" 
            text-anchor="middle">${name}</text>
    </g>
  </g>
</svg>