You are viewing a plain text version of this content. The canonical link for it is here.
Posted to taglibs-dev@jakarta.apache.org by js...@apache.org on 2001/07/24 16:29:14 UTC
cvs commit: jakarta-taglibs/xtags/examples/web/test snoop.jsp test_add.jsp test_replace.jsp
jstrachan 01/07/24 07:29:14
Added: xtags/examples/web nasdaq_quotes.jsp
xtags/examples/web/test snoop.jsp test_add.jsp
test_replace.jsp
Log:
Added new examples and test cases
Revision Changes Path
1.1 jakarta-taglibs/xtags/examples/web/nasdaq_quotes.jsp
Index: nasdaq_quotes.jsp
===================================================================
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<%@ taglib uri="http://jakarta.apache.org/taglibs/xtags-1.0" prefix="xtags" %>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>NASDAQ Quotes</title>
<link rel="stylesheet" href="examples.css" type="text/css">
</head>
<body>
<%
String symbols = request.getParameter( "symbols" );
if ( symbols == null ) {
symbols = "ORCL+IBM+SUNW";
}
else {
symbols = symbols.replace( ' ', '+' );
}
// note this URL should only be used for development!
String url = "http://www.xmltoday.com/examples/stockquote/getxmlquote.vep?s=" + symbols;
%>
<p>This example demonstrates fetching XML stock quotes from a web service
and formatting the results using the XTags library.</p>
<h2>Stock Codes</h2>
<form METHOD="GET" ACTION="<%= request.getRequestURI() %>">
Enter symbol(s):
<input type="text" name="symbols" value="<%= symbols %>"/>
<input type="submit" value="Get Quotes"/>
</form>
<h2>Stock Quotes</h2>
<xtags:parse url="<%= url %>"/>
<table cellspacing="0" cellpadding="2" bgcolor="#000000" border="1">
<tr bgcolor="#dddddd">
<th>Symbol</th>
<th align="right">Ask</th>
<th align="right">Open</th>
<th align="right">Days High</th>
<th align="right">Days Low</th>
<th align="right">Price Change</th>
<th align="right">Volume</th>
<th>Date</th>
<th>Time</th>
</tr>
<xtags:forEach select="//stock_quote">
<tr bgcolor="#eeeeee">
<td>
<xtags:valueOf select="symbol"/>
</td>
<td align="right">
<xtags:valueOf select="price[@type='ask']/@value"/>
</td>
<td align="right">
<xtags:valueOf select="price[@type='open']/@value"/>
</td>
<td align="right">
<xtags:valueOf select="price[@type='dayhigh']/@value"/>
</td>
<td align="right">
<xtags:valueOf select="price[@type='daylow']/@value"/>
</td>
<td align="right">
<xtags:valueOf select="change"/>
</td>
<td align="right">
<xtags:valueOf select="volume"/>
</td>
<td>
<xtags:valueOf select="when/date"/>
</td>
<td>
<xtags:valueOf select="when/time"/>
</td>
</tr>
</xtags:forEach>
</table>
</body>
</html>
1.1 jakarta-taglibs/xtags/examples/web/test/snoop.jsp
Index: snoop.jsp
===================================================================
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<%@ page import="javax.servlet.*" %>
<%@ page import="javax.servlet.http.*" %>
<%@ page import="java.util.*" %>
<head>
<title>Snoop</title>
</head>
<body>
<h2>HttpServletRequest Properties</h2>
<table width="100%" cellspacing="0" cellpadding="2" bgcolor="#000000" border="1">
<tr bgcolor="#dddddd">
<th>Property</th>
<th>Value</th>
</tr>
<tr bgcolor="#eeeeee">
<td>getAuthType()</td>
<td><%= request.getAuthType() %></td>
</tr>
<tr bgcolor="#eeeeee">
<td>getContextPath()</td>
<td><%= request.getContextPath() %></td>
</tr>
<tr bgcolor="#eeeeee">
<td>getPathInfo()</td>
<td><%= request.getPathInfo() %></td>
</tr>
<tr bgcolor="#eeeeee">
<td>getPathTranslated()</td>
<td><%= request.getPathTranslated() %></td>
</tr>
<tr bgcolor="#eeeeee">
<td>getQueryString()</td>
<td><%= request.getQueryString() %></td>
</tr>
<tr bgcolor="#eeeeee">
<td>getRequestedSessionId()</td>
<td><%= request.getRequestedSessionId() %></td>
</tr>
<tr bgcolor="#eeeeee">
<td>getRequestURI()</td>
<td><%= request.getRequestURI() %></td>
</tr>
<tr bgcolor="#eeeeee">
<td>getServletPath()</td>
<td><%= request.getServletPath() %></td>
</tr>
</table>
<h2>ServletRequest Properties</h2>
<table width="100%" cellspacing="0" cellpadding="2" bgcolor="#000000" border="1">
<tr bgcolor="#dddddd">
<th>Property</th>
<th>Value</th>
</tr>
<tr bgcolor="#eeeeee">
<td>getCharacterEncoding()</td>
<td><%= request.getCharacterEncoding() %></td>
</tr>
<tr bgcolor="#eeeeee">
<td>getContentType()</td>
<td><%= request.getContentType() %></td>
</tr>
<tr bgcolor="#eeeeee">
<td>getLocale()</td>
<td><%= request.getLocale() %></td>
</tr>
<tr bgcolor="#eeeeee">
<td>getProtocol()</td>
<td><%= request.getProtocol() %></td>
</tr>
<tr bgcolor="#eeeeee">
<td>getRemoteAddr()</td>
<td><%= request.getRemoteAddr() %></td>
</tr>
<tr bgcolor="#eeeeee">
<td>getRemoteHost()</td>
<td><%= request.getRemoteHost() %></td>
</tr>
<tr bgcolor="#eeeeee">
<td>getScheme()</td>
<td><%= request.getScheme() %></td>
</tr>
<tr bgcolor="#eeeeee">
<td>getServerName()</td>
<td><%= request.getServerName() %></td>
</tr>
</table>
<h2>HTTP Headers</h2>
<table width="100%" cellspacing="0" cellpadding="2" bgcolor="#000000" border="1">
<tr bgcolor="#dddddd">
<th>Property</th>
<th>Value</th>
</tr>
<%
for ( Enumeration enum = request.getHeaderNames(); enum.hasMoreElements(); ) {
String headerName = (String) enum.nextElement();
%>
<tr bgcolor="#eeeeee">
<td><%= headerName %></td>
<td><%= request.getHeader( headerName ) %></td>
</tr>
<%
}
%>
</table>
<h2>Request Attributes</h2>
<table width="100%" cellspacing="0" cellpadding="2" bgcolor="#000000" border="1">
<tr bgcolor="#dddddd">
<th>Property</th>
<th>Value</th>
</tr>
<%
for ( Enumeration enum = request.getAttributeNames(); enum.hasMoreElements(); ) {
String attributeName = (String) enum.nextElement();
%>
<tr bgcolor="#eeeeee">
<td><%= attributeName %></td>
<td><%= request.getAttribute( attributeName ) %></td>
</tr>
<%
}
%>
</table>
<h2>Request Parameters</h2>
<table width="100%" cellspacing="0" cellpadding="2" bgcolor="#000000" border="1">
<tr bgcolor="#dddddd">
<th>Property</th>
<th>Value</th>
</tr>
<%
for ( Enumeration enum = request.getParameterNames(); enum.hasMoreElements(); ) {
String attributeName = (String) enum.nextElement();
%>
<tr bgcolor="#eeeeee">
<td><%= attributeName %></td>
<td><%= request.getParameter( attributeName ) %></td>
</tr>
<%
}
%>
</table>
</body>
</html>
1.1 jakarta-taglibs/xtags/examples/web/test/test_add.jsp
Index: test_add.jsp
===================================================================
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<%@ taglib uri="http://jakarta.apache.org/taglibs/xtags-1.0" prefix="xtags" %>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Test Add Example</title>
<link rel="stylesheet" href="examples.css" type="text/css">
</head>
<body>
<h1>Test Add Example</h1>
<p>This demo tests the use of the <xtags:add> tag to add XML fragments to an XML document.</p>
<hr/>
<xtags:parse>
<a x="1" y="1">
<b>
<c d="123" e="456">
<foo>abcd</foo>
</c>
</b>
<d x="33" y="99">
<foo>whoo</foo>
<e x="234" y="4912">
<foo>def</foo>
</e>
</d>
</a>
</xtags:parse>
<h2>Before Additions</h2>
<xtags:copyOf select="/"/>
<hr/>
<h2>After Additions</h2>
<xtags:forEach select="//foo">
<xtags:add>
<something>to add
<with even="more">sub nodes and the like</with>
<empty/>
</something>
</xtags:add>
</xtags:forEach>
<xtags:forEach select="//b">
<xtags:add>
Some text
</xtags:add>
</xtags:forEach>
<xtags:forEach select="//b">
<xtags:add>
<atag/>
And some text
</xtags:add>
</xtags:forEach>
<xtags:copyOf select="/"/>
<hr/>
</body>
</html>
1.1 jakarta-taglibs/xtags/examples/web/test/test_replace.jsp
Index: test_replace.jsp
===================================================================
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<%@ taglib uri="http://jakarta.apache.org/taglibs/xtags-1.0" prefix="xtags" %>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Test Add Example</title>
<link rel="stylesheet" href="examples.css" type="text/css">
</head>
<body>
<h1>Test Replace Example</h1>
<p>This demo tests the use of the <xtags:replace> tag to replace nodes in an XML document
with XML fragments.</p>
<hr/>
<xtags:parse>
<a x="1" y="1">
<b>
<c d="123" e="456">
<foo>abcd</foo>
</c>
</b>
<d x="33" y="99">
<foo>whoo</foo>
<e x="234" y="4912">
<foo>def</foo>
</e>
</d>
</a>
</xtags:parse>
<h2>Before Replacements</h2>
<xtags:copyOf select="/"/>
<hr/>
<h2>After Replacements</h2>
<xtags:forEach select="//foo">
<xtags:replace>
<something>which should
<with even="more">have replaced all foo elements</with>
<empty/>
</something>
</xtags:replace>
</xtags:forEach>
<xtags:forEach select="//b">
<xtags:replace>
Text that replaces a b node
</xtags:replace>
</xtags:forEach>
<xtags:copyOf select="/"/>
<h2>Replacing a single node with multiple nodes</h2>
<p>Replacing the <empty> nodes:</p>
<xtags:forEach select="//empty">
<xtags:replace>
<full> node </full>
with text
<and>another node</and>
</xtags:replace>
</xtags:forEach>
<xtags:copyOf select="/"/>
<h2>Replacing the root element</h2>
<xtags:forEach select="/a">
<xtags:replace>
<root>A new ro<sdsd/>ot node</root>
</xtags:replace>
</xtags:forEach>
<xtags:copyOf select="/"/>
<h2>Replacing the root node</h2>
<xtags:context select="/">
<xtags:replace>
<!-- a comment -->
<root>Another root node</root>
</xtags:replace>
</xtags:context>
<xtags:context select="/">
<xtags:replace><?xml version="1.0"?>
<!-- a comment -->
<root>Another root node <foo>with</foo> an <foo>xml</foo> declaration</root>
</xtags:replace>
</xtags:context>
<% try { %>
<xtags:context select="//foo">
<xtags:replace><?xml version="1.0"?>
<!-- a comment -->
<root>Another root node with an xml declaration</root>
</xtags:replace>
</xtags:context>
<% } catch (JspException e) { %>
<p>Exception - should say too many context nodes: <pre><%= e.getMessage() %></pre></p>
<% } %>
<xtags:copyOf select="/"/>
<hr/>
</body>
</html>