coliver 2003/03/25 12:55:10
Modified: src/scratchpad/webapp/samples/petstore sitemap.xmap
src/scratchpad/webapp/samples/petstore/flow petstore.js
src/scratchpad/webapp/samples/petstore/stylesheets
form2html.xsl site2html.xsl
src/scratchpad/webapp/samples/petstore/view/templates
Cart.vm Checkout.vm ConfirmOrder.vm IncludeTop.vm
Item.vm Product.vm ViewOrder.vm
src/scratchpad/webapp/samples/petstore/view/xmlform
EditAccountForm.xml
Log:
integrated leo leonid's changes and changed yoshi to fmt
Revision Changes Path
1.10 +9 -10 cocoon-2.1/src/scratchpad/webapp/samples/petstore/sitemap.xmap
Index: sitemap.xmap
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/scratchpad/webapp/samples/petstore/sitemap.xmap,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- sitemap.xmap 25 Mar 2003 17:10:36 -0000 1.9
+++ sitemap.xmap 25 Mar 2003 20:55:09 -0000 1.10
@@ -30,6 +30,12 @@
<map:view name="debug" from-label="debug">
<map:serialize type="xml"/>
</map:view>
+ <map:view name="debug1" from-label="debug1">
+ <map:serialize type="xml"/>
+ </map:view>
+ <map:view name="debug2" from-label="debug2">
+ <map:serialize type="xml"/>
+ </map:view>
<map:view name="xml" from-label="xml">
<map:serialize type="xml"/>
</map:view>
@@ -86,17 +92,10 @@
<map:generate src="view/xmlform/{1}.xml"/>
<!-- populating the document with model instance data -->
- <map:transform type="xmlform" label="xml"/>
-
- <map:transform type="xalan" src="stylesheets/form2html.xsl" />
-
- <!-- Transforming the XMLForm controls to HTML controls -->
- <map:transform src="context://stylesheets/system/xmlform2html.xslt" />
-
-
- <!-- sending the HTML back to the browser -->
- <map:serialize type="html" label="debug"/>
+ <map:transform type="xmlform" label="debug"/>
+ <map:transform type="xalan" src="stylesheets/site2html.xsl"
label="debug1"/>
+ <map:serialize type="html" />
</map:match>
</map:pipeline>
<map:pipeline>
1.9 +21 -24
cocoon-2.1/src/scratchpad/webapp/samples/petstore/flow/petstore.js
Index: petstore.js
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/scratchpad/webapp/samples/petstore/flow/petstore.js,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- petstore.js 22 Mar 2003 22:52:55 -0000 1.8
+++ petstore.js 25 Mar 2003 20:55:09 -0000 1.9
@@ -55,18 +55,18 @@
var EXT = ".vm";
-function Yoshi() {
+function Format() {
}
-Yoshi.prototype.formatNumber = function(num, format) {
+Format.prototype.formatNumber = function(num, format) {
return new java.text.DecimalFormat(format).format(num);
}
-Yoshi.prototype.formatDate = function(date, format) {
+Format.prototype.formatDate = function(date, format) {
return new java.text.SimpleDateFormat(format).format(date);
}
-var yoshi = new Yoshi();
+var fmt = new Format();
var petStore = null;
var accountForm = null;
var cartForm = null;
@@ -130,7 +130,7 @@
view: VIEW,
accountForm: accountForm,
cartForm: cartForm,
- yoshi: yoshi,
+ fmt: fmt,
cartItems: cartItems
});
@@ -147,7 +147,7 @@
}
sendPage("/view/Cart" + EXT, {
view: VIEW,
- yoshi: yoshi,
+ fmt: fmt,
accountForm: accountForm,
cartForm: cartForm, cartItems: cartItems
});
@@ -164,7 +164,7 @@
}
sendPage("/view/Cart" + EXT, {
view: VIEW,
- yoshi: yoshi,
+ fmt: fmt,
accountForm: accountForm,
cartForm:cartForm,
cartItems: cartItems
@@ -182,9 +182,9 @@
}
sendPage("/view/Cart" + EXT, {
view: VIEW,
- yoshi: yoshi,
+ fmt: fmt,
accountForm: accountForm,
- cartForm:cartForm,
+ cartForm: cartForm,
cartItems: cartItems
});
}
@@ -197,12 +197,7 @@
var category = getPetStore().getCategory(categoryId);
var skipResults = 0;
var maxResults = MAX_RESULTS;
- var foo = new Object();
- foo.skip = skipResults + 0;
while (true) {
- print("foo before=" + foo.skip);
- print("skipResults = " + skipResults);
- foo.skip = skipResults + 0;
var productList =
getPetStore().getProductListByCategory(categoryId,
skipResults,
@@ -256,7 +251,7 @@
sendPageAndWait("/view/Product" + EXT, {
view: VIEW,
accountForm: accountForm,
- yoshi: yoshi,
+ fmt: fmt,
product: product,
firstPage: skipResults == 0,
lastPage: !itemList.isLimitedByMaxRows,
@@ -287,7 +282,7 @@
item: item,
quantity: getPetStore().getItemRowCountByProduct(item.productId),
product: item.product,
- yoshi: yoshi
+ fmt: fmt
});
}
@@ -349,17 +344,17 @@
function validateZIP(field) {
var valid = "0123456789-";
var hyphencount = 0;
- if (field.length!=5 && field.length!=10) {
+ if (field.length != 5 && field.length != 10) {
throw "Please enter your 5 digit or 5 digit+4 zip code.";
}
for (var i=0; i < field.length; i++) {
- temp = "" + field.substring(i, i+1);
+ var temp = "" + field.substring(i, i+1);
if (temp == "-") hyphencount++;
if (valid.indexOf(temp) == "-1") {
throw "Invalid characters in your zip code";
}
}
- if (hyphencount > 1 || (field.length==10 && ""+field.charAt(5)!="-")) {
+ if (hyphencount > 1 || (field.length == 10 && field.charAt(5) != "-")) {
throw "The hyphen character should be used with a properly formatted 5
digit+four zip code, like '12345-6789'";
}
}
@@ -457,7 +452,7 @@
view: VIEW,
accountForm: accountForm,
cartForm: cartForm,
- yoshi: yoshi,
+ fmt: fmt,
cartItems: cartItems
});
if (accountForm.signOn) {
@@ -470,24 +465,26 @@
while (!valid) {
sendPageAndWait("/view/NewOrderForm" + EXT, {
view: VIEW,
- yoshi: yoshi,
+ fmt: fmt,
creditCardTypes: ["Visa", "MasterCard", "American Express"],
order: order});
var shippingAddressRequired = cocoon.request.get("shippingAddressRequired");
if (shippingAddressRequired) {
sendPageAndWait("/view/ShippingForm" + EXT,
- {order: order, yoshi: yoshi});
+ {order: order, fmt: fmt});
}
// fix me !! do real validation
valid = true;
}
sendPageAndWait("/view/ConfirmOrder" + EXT,
- {view: VIEW, order: order, yoshi: yoshi});
+ {view: VIEW, order: order, fmt: fmt});
var oldCartForm = cartForm;
cartForm = new CartForm();
sendPage("/view/ViewOrder" + EXT,
- {view: VIEW, order: order, itemList: order.lineItems, yoshi: yoshi});
+ {view: VIEW, order: order,
+ itemList: order.lineItems,
+ fmt: fmt});
}
function listOrders() {
1.2 +3 -3
cocoon-2.1/src/scratchpad/webapp/samples/petstore/stylesheets/form2html.xsl
Index: form2html.xsl
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/scratchpad/webapp/samples/petstore/stylesheets/form2html.xsl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- form2html.xsl 22 Mar 2003 22:52:55 -0000 1.1
+++ form2html.xsl 25 Mar 2003 20:55:09 -0000 1.2
@@ -17,7 +17,7 @@
<xsl:template match="document">
<html>
<head>
- <title>XMLForm - Cocoon Feedback Wizard</title>
+ <title></title>
</head>
<body>
@@ -45,9 +45,9 @@
<tr>
<td align="left" colspan="3"
class="{error/xf:violation[1]/@class}">
- <p>* There are
[<b><xsl:value-of
+ <p>* The information you
submitted contains [<b><xsl:value-of
select="count(error/xf:violation)"/></b>]
- errors. Please fix
these errors and submit the
+ error(s). Please fix
the specified error(s) and submit the
form again.</p>
<p>
<xsl:variable
name="localViolations"
1.6 +698 -572
cocoon-2.1/src/scratchpad/webapp/samples/petstore/stylesheets/site2html.xsl
Index: site2html.xsl
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/scratchpad/webapp/samples/petstore/stylesheets/site2html.xsl,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- site2html.xsl 22 Mar 2003 22:52:55 -0000 1.5
+++ site2html.xsl 25 Mar 2003 20:55:09 -0000 1.6
@@ -1,579 +1,705 @@
<?xml version="1.0" encoding="utf-8"?>
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xf="http://xml.apache.org/cocoon/xmlform/2002"
+ exclude-result-prefixes="xalan" >
- <xsl:template match="site">
- <html>
- <head>
- <meta content="text/html; charset=windows-1252"
http-equiv="Content-Type" />
- <meta HTTP-EQUIV="Cache-Control" CONTENT="max-age=0"/>
- <meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache"/>
- <meta http-equiv="expires" content="0"/>
- <meta HTTP-EQUIV="Expires" CONTENT="Tue, 01 Jan 1980 1:00:00 GMT"/>
- <meta HTTP-EQUIV="Pragma" CONTENT="no-cache"/>
- </head>
- <body bgcolor="white">
- <table background="images/bkg-topbar.gif" border="0"
cellspacing="0" cellpadding="5" width="100%">
- <tbody>
- <tr>
- <td>
- <form method="post" action="index.do">
- <input type="image" border="0"
src="images/logo-topbar.gif" />
- <select name="view" width="14" align="left"
value="Xsp" onChange="document.forms[0].submit()">
- <option value="Xsp">Xsp</option>
- <option value="Velocity">Velocity</option>
- </select>
- </form>
- </td>
- <td align="right">
- <a href="viewCart.do"><img border="0"
name="img_cart" src="images/cart.gif" /></a><img border="0" src="images/separator.gif"
hspace="4" />
- <xsl:choose>
- <xsl:when test="@signOn='true'">
- <a href="signonForm.do"><img border="0"
name="img_signin" src="images/sign-in.gif" /></a>
- </xsl:when>
- <xsl:otherwise>
- <a href="signonForm.do?signoff=true"><img
border="0" name="img_signout" src="images/sign-out.gif" /></a><img border="0"
src="images/separator.gif" hspace="4" />
- <a href="editAccount.form"><img border="0"
name="img_myaccount" src="images/my_account.gif" /></a>
- </xsl:otherwise>
- </xsl:choose>
- <img border="0" src="images/separator.gif"
hspace="4" /><a href="../help.html"><img border="0" name="img_help"
src="images/help.gif" /></a>
- </td>
- <td align="left" valign="bottom">
- <form method="post" action="searchProducts.do">
- <input name="keyword" size="14" />
- <input border="0" src="images/search.gif"
type="image" />
- </form>
- </td>
- </tr>
- </tbody>
- </table>
- <center>
- <a href="viewCategory.do?categoryId=FISH"><img border="0"
src="images/sm_fish.gif" /></a>
- <img border="0" src="images/separator.gif" hspace="4" />
- <a href="viewCategory.do?categoryId=DOGS"><img border="0"
src="images/sm_dogs.gif" /></a>
- <img border="0" src="images/separator.gif" hspace="4" />
- <a href="viewCategory.do?categoryId=REPTILES"><img border="0"
src="images/sm_reptiles.gif" /></a>
- <img border="0" src="images/separator.gif" hspace="4" />
- <a href="viewCategory.do?categoryId=CATS"><img border="0"
src="images/sm_cats.gif" /></a>
- <img border="0" src="images/separator.gif" hspace="4" />
- <a href="viewCategory.do?categoryId=BIRDS"><img border="0"
src="images/sm_birds.gif" /></a>
- </center>
- <xsl:apply-templates/>
- <br/>
- <p align="center">
- <a href="http://cocoon.apache.org"><img border="0"
align="center" src="images/cocoon.gif" /></a>
- </p>
- </body>
- </html>
- </xsl:template>
-
- <xsl:template match="welcome">
- <table border="0" cellspacing="0" width="100%">
- <tbody>
- <tr>
- <td valign="top" width="100%">
- <table align="left" border="0" cellspacing="0" width="80%">
- <tbody>
- <tr>
- <td valign="top">
- <xsl:apply-templates/>
- </td>
- <td align="center" bgcolor="white" height="300"
width="100%">
- <map name="estoremap">
- <area alt="Birds" coords="72,2,280,250"
href="viewCategory.do?categoryId=BIRDS" shape="RECT" />
- <area alt="Fish" coords="2,180,72,250"
href="viewCategory.do?categoryId=FISH" shape="RECT" />
- <area alt="Dogs"
coords="60,250,130,320" href="viewCategory.do?categoryId=DOGS" shape="RECT" />
- <area alt="Reptiles"
coords="140,270,210,340" href="viewCategory.do?categoryId=REPTILES" shape="RECT" />
- <area alt="Cats"
coords="225,240,295,310" href="viewCategory.do?categoryId=CATS" shape="RECT" />
- <area alt="Birds"
coords="280,180,350,250" href="viewCategory.do?categoryId=BIRDS" shape="RECT" />
- </map>
- <img border="0" height="355"
src="images/splash.gif" align="center" usemap="#estoremap" width="350" />
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </tbody>
- </table>
- </xsl:template>
-
- <xsl:template match="menu">
- <table bgcolor="#FFFF88" border="0" cellspacing="0" cellpadding="5"
width="200">
- <tbody>
- <tr>
- <td>
- <!--
- #if (!$accountForm.signOn)
- <b><i><font size="2" color="BLACK">Welcome
$accountForm.account.firstName!</font></i></b>
- #end
- -->
- </td>
- </tr>
- <xsl:apply-templates/>
- </tbody>
- </table>
- </xsl:template>
-
- <xsl:template match="menu/category">
- <tr>
- <td>
- <a href="[EMAIL PROTECTED]"><i><h2><xsl:value-of select="@name"
/></h2></i></a>
- </td>
- </tr>
- </xsl:template>
-
- <xsl:template match="backpointer">
- <table align="left" bgcolor="#008800" border="0" cellspacing="2"
cellpadding="2">
- <tr>
- <td bgcolor="#FFFF88">
- <a href="[EMAIL PROTECTED]"><b><font color="BLACK"
size="2"><< <xsl:value-of select="@name" /></font></b></a>
- </td>
- </tr>
- </table>
- </xsl:template>
-
- <xsl:template match="category">
- <p>
- <center>
- <h2><xsl:value-of select="@name" /></h2>
- </center>
- <table align="center" bgcolor="#008800" border="0" cellspacing="2"
cellpadding="3">
- <tr bgcolor="#CCCCCC">
- <td>
- <b>Product ID</b>
- </td>
- <td>
- <b>Name</b>
- </td>
- </tr>
- <xsl:apply-templates/>
- </table>
- </p>
- </xsl:template>
-
- <xsl:template match="category/product">
- <tr bgcolor="#FFFF88">
- <td>
- <b><a href="[EMAIL PROTECTED]"><font color="BLACK"><xsl:value-of
select="@id" /></font></a></b>
- </td>
- <td>
- <xsl:value-of select="@name" />
- </td>
- </tr>
- </xsl:template>
-
- <xsl:template match="search">
- <table align="center" bgcolor="#008800" border="0" cellspacing="2"
cellpadding="3">
- <tr bgcolor="#CCCCCC">
- <td></td>
- <td>
- <b>Product ID</b>
- </td>
- <td>
- <b>Name</b>
- </td>
- </tr>
-
- <xsl:apply-templates/>
- </table>
-
- </xsl:template>
-
- <xsl:template match="search/product">
- <tr bgcolor="#FFFF88">
- <td><a href="[EMAIL PROTECTED]"><xsl:value-of select="product-desc"
/></a></td>
- <td>
- <b><a href="[EMAIL PROTECTED]"><font color="BLACK"><xsl:value-of
select="@id" /></font></a></b>
- </td>
- <td><xsl:value-of select="@name" /></td>
- </tr>
- </xsl:template>
-
- <xsl:template match="situation">
- <tr>
- <td>
- <xsl:if test="@firstPage='false'" >
- <a href="[EMAIL PROTECTED]"><font color="white"><B><<
Prev</B></font></a>
- </xsl:if>
- <xsl:if test="@lastPage='false'" >
- <a href="[EMAIL PROTECTED]"><font color="white"><B>Next
>></B></font></a>
- </xsl:if>
- </td>
- </tr>
- </xsl:template>
-
- <xsl:template match="product">
- <p>
- <center>
- <b><font size="4"><xsl:value-of select="@name" /></font></b>
- </center>
-
- <table align="center" bgcolor="#008800" border="0" cellspacing="2"
cellpadding="3">
- <tr bgcolor="#CCCCCC">
- <td><b>Item ID</b></td>
- <td><b>Product ID</b></td>
- <td><b>Description</b></td>
- <td><b>List Price</b></td>
- <td></td>
- </tr>
- <xsl:apply-templates/>
- </table>
- </p>
- </xsl:template>
-
- <xsl:template match="product/item">
- <tr bgcolor="#FFFF88">
- <td>
- <b><a href="[EMAIL PROTECTED]"><xsl:value-of select="@id" /></a></b>
- </td>
- <td>
- <b><xsl:value-of select="@product-id" /></b>
- </td>
- <td>
- <xsl:value-of select="desc" /><xsl:text> </xsl:text><xsl:value-of
select="../@name" />
- </td>
- <td>
- <xsl:text>$</xsl:text> <xsl:value-of select="price" />
- </td>
- <td>
- <a href="[EMAIL PROTECTED]"><img border="0"
src="images/button_add_to_cart.gif" /></a>
- </td>
- </tr>
- </xsl:template>
-
- <xsl:template name="cart-common-columns">
- <td><b>Item ID</b></td>
- <td><b>Product ID</b></td>
- <td><b>Description</b></td>
- <td><b>Quantity</b></td>
- <td><b>List Price</b></td>
- </xsl:template>
-
- <xsl:template match="[EMAIL PROTECTED]'Shopping Cart']">
- <table border="0" width="100%" cellspacing="0" cellpadding="0">
- <tr>
- <td valign="top" width="20%" align="left">
- <xsl:apply-templates select="backpointer" />
- </td>
- <td valign="top" align="center">
- <h2 align="center"><xsl:value-of select="@name" /></h2>
- <form action="updateCartQuantities.do" method="post" >
- <table align="center" bgcolor="#008800" border="0"
cellspacing="2" cellpadding="5">
- <tr bgcolor="#cccccc">
- <xsl:call-template name="cart-common-columns" />
- <td></td>
- </tr>
- <xsl:if test="not(item)">
- <tr bgcolor="#FFFF88">
- <td colspan="6">
- <b>Your cart is empty.</b>
- </td>
- </tr>
- </xsl:if>
- <xsl:apply-templates select="item" />
- <tr bgcolor="#FFFF88">
- <td colspan="5" align="right">
- <b>Sub Total: $<xsl:value-of
select="format-number (total, '###,##0.00')"/></b><br />
- <input type="image" border="0"
src="images/button_update_cart.gif" name="update" />
- </td>
- <td></td>
- </tr>
- </table>
- </form>
- <xsl:if test="item">
- <xsl:apply-templates select="nextpointer" />
- </xsl:if>
- </td>
- <td valign="top" width="20%" align="right">
- </td>
- </tr>
- </table>
- </xsl:template>
-
- <xsl:template match="[EMAIL PROTECTED]'Checkout Summary']">
- <table border="0" width="100%" cellspacing="0" cellpadding="0">
- <tr>
- <td valign="top" width="20%" align="left">
- <xsl:apply-templates select="backpointer" />
- </td>
- <td valign="top" align="center">
- <h2 align="center"><xsl:value-of select="@name" /></h2>
- <table align="center" bgcolor="#008800" border="0"
cellspacing="2" cellpadding="5">
- <tr bgcolor="#cccccc">
- <xsl:call-template name="cart-common-columns" />
- </tr>
- <xsl:apply-templates select="item" />
- <tr bgcolor="#FFFF88">
- <td colspan="5" align="right">
- <b>Sub Total: $<xsl:value-of
select="format-number (total, '###,##0.00')"/></b><br />
- </td>
- </tr>
- </table>
- <xsl:apply-templates select="nextpointer" />
- </td>
- <td valign="top" width="20%" align="right">
- </td>
- </tr>
- </table>
- </xsl:template>
-
- <xsl:template match="[EMAIL PROTECTED]'Status']">
- <table align="center" bgcolor="#008800" border="0" cellspacing="2"
cellpadding="5">
- <tr bgcolor="#cccccc">
- <xsl:call-template name="cart-common-columns" />
- </tr>
- <xsl:apply-templates select="item" />
- <tr bgcolor="#FFFF88">
- <td colspan="5" align="right">
- <b>Total: $<xsl:value-of select="format-number (total,
'###,##0.00')"/></b><br />
- </td>
- </tr>
- </table>
- </xsl:template>
-
-
- <xsl:template match="nextpointer">
- <br />
- <center>
- <a href="[EMAIL PROTECTED]"><img border="0" src="[EMAIL PROTECTED]"
/></a>
- </center>
- </xsl:template>
-
-
- <xsl:template match="cart/item">
- <tr bgcolor="#FFFF88">
- <td>
- <b><xsl:value-of select="@id" /></b>
- </td>
- <td>
- <xsl:value-of select="@product-id" />
- </td>
- <td>
- <xsl:value-of select="desc" />
- </td>
- <td align="center">
- <xsl:choose>
- <xsl:when test="../@name='Shopping Cart'">
- <input type="text" size="3" name="[EMAIL PROTECTED]" >
- <xsl:attribute name="value"><xsl:value-of
select="format-number (quantity, '####')"/></xsl:attribute>
- </input>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="format-number (quantity, '####')"/>
- </xsl:otherwise>
- </xsl:choose>
- </td>
- <td align="right">
- $<xsl:value-of select="format-number (price, '###,##0.00')"/>
- </td>
- <xsl:if test="../@name='Shopping Cart'">
- <td>
- <a href="[EMAIL PROTECTED]"><img border="0"
src="images/button_remove.gif" /></a>
- </td>
- </xsl:if>
- </tr>
- </xsl:template>
-
-
-
-
- <xsl:template match="item">
- <p>
- <table align="center" bgcolor="#008800" cellspacing="2" cellpadding="3"
border="0" width="60%">
- <tr bgcolor="#FFFF88">
- <td bgcolor="#FFFFFF">
- <xsl:value-of select="product-desc" />
- </td>
- </tr>
- <tr bgcolor="#FFFF88">
- <td width="100%" bgcolor="#cccccc">
- <b><xsl:value-of select="@id" /></b>
- </td>
- </tr>
- <tr bgcolor="#FFFF88">
- <td>
- <b><font size="4"><xsl:value-of select="desc" /></font></b>
- </td>
- </tr>
- <tr bgcolor="#FFFF88">
- <td>
- <font size="3"><i><xsl:value-of select="product-name"
/></i></font>
- </td>
- </tr>
- <!-- quantity stuff still missing -->
-
- <tr bgcolor="#FFFF88">
- <td>
- <xsl:value-of select="format-number (instock, '####')"/> in
stock.
- </td>
- </tr>
- <tr bgcolor="#FFFF88">
- <td>
- $<xsl:value-of select="format-number (price,
'###,##0.00')"/>
- </td>
- </tr>
- <tr bgcolor="#FFFF88">
- <td>
- <a href="[EMAIL PROTECTED]" ><img border="0"
src="images/button_add_to_cart.gif" /></a>
- </td>
- </tr>
- </table>
- </p>
- </xsl:template>
-
- <xsl:template match="[EMAIL PROTECTED]'workingAccountForm']">
- <form>
- <xsl:copy-of select="@action | @method | @styleId "/>
- <xsl:choose>
- <xsl:when test="/site/@signOn='true'">
- <hidden name="workingAccountForm" property="validate"
value="newAccount"/>
- </xsl:when>
- <xsl:otherwise>
- <hidden name="workingAccountForm" property="validate"
value="editAccount" />
- <hidden name="workingAccountForm" property="account.username" />
- </xsl:otherwise>
- </xsl:choose>
- <table cellpadding="10" cellspacing="0" align="center" border="1"
bgcolor="#dddddd">
- <tr>
- <td>
- <xsl:apply-templates/>
- </td>
- </tr>
- </table>
- <br />
- <center>
- <input border="0" type="image" src="images/button_submit.gif"
name="submit" value="Save Account Information" />
- </center>
- </form>
- <xsl:if test="/site/@signOn='false'">
- <p>
- <center><b><a href="listOrders.do">My Orders</a></b></center>
- </p>
- </xsl:if>
- </xsl:template>
-
-
- <xsl:template match="[EMAIL PROTECTED]'workingOrderForm']">
- <b><font color="RED"><xsl:value-of select="message" /></font></b>
- <form>
- <xsl:copy-of select="@action | @method | @styleId"/>
- <xsl:apply-templates/>
- <p>
- <input type="image" src="images/button_submit.gif"/>
- </p>
- </form>
- </xsl:template>
-
- <xsl:template match="[EMAIL PROTECTED]'signon']">
- <xsl:apply-templates select="message"/>
- <form>
- <xsl:copy-of select="@action | @method"/>
- <table align="center" border="0">
- <tr>
- <td colspan="2">Please enter your username and password.<br />
</td>
- </tr>
- <xsl:apply-templates select="input"/>
- </table>
- </form>
- </xsl:template>
-
-
- <xsl:template match="panel[panel]">
- <table width="60%" align="center" border="0" cellpadding="3"
cellspacing="1" bgcolor="#FFFF88">
- <xsl:if test="@header">
- <tr bgcolor="#FFFF88">
- <td align="center" colspan="2">
- <font size="4"><b><xsl:value-of select="@header"
/></b></font>
- <xsl:if test="@subheader">
- <br /><font size="3"><b><xsl:value-of
select="@subheader" /></b></font>
- </xsl:if>
- </td>
- </tr>
- </xsl:if>
- <xsl:apply-templates/>
- </table>
- </xsl:template>
-
- <xsl:template match="panel">
- <font color="darkgreen"><h3><xsl:value-of select="@label" /></h3></font>
- <table border="0" cellpadding="3" cellspacing="1" bgcolor="#008800">
- <xsl:apply-templates/>
- </table>
- </xsl:template>
-
- <xsl:template match="panel/panel">
- <tr bgcolor="#FFFF88">
- <td colspan="2">
- <font color="GREEN" size="4"><b><xsl:value-of select="@label"
/>:</b></font>
- </td>
- </tr>
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match="panel/select">
- <tr bgcolor="#FFFF88">
- <td><xsl:value-of select="@label" /></td>
- <td>
- <select>
- <xsl:copy-of select="@type | @src | @value | @name | @size |
@selected | node()" />
- </select>
- </td>
- </tr>
- </xsl:template>
-
- <xsl:template match="panel/input">
- <tr bgcolor="#FFFF88">
- <td><xsl:value-of select="@label" /></td>
- <td><input><xsl:copy-of select="@type | @src | @value | @name | @size |
@selected"/></input></td>
- </tr>
- </xsl:template>
-
- <xsl:template match="panel/field">
- <tr bgcolor="#FFFF88">
- <td><xsl:value-of select="@label" />:</td>
- <td><xsl:value-of select="." /></td>
- </tr>
- </xsl:template>
-
- <xsl:template match="panel/[EMAIL PROTECTED]">
- <tr bgcolor="#FFFF88">
- <td colspan="[EMAIL PROTECTED]"><xsl:value-of select="@label" />
- <xsl:apply-templates />
- </td>
- </tr>
- </xsl:template>
-
- <xsl:template match="message">
- <br clear="all" />
- <center>
- <b>
- <font size="4">
- <xsl:if test="@type='warning'">
- <xsl:attribute name="color">RED</xsl:attribute>
- </xsl:if>
- <xsl:value-of select="." />
- </font>
- </b>
- </center>
- <br clear="all" />
- </xsl:template>
-
-
- <xsl:template match="input">
- <tr>
- <td><xsl:value-of select="@label" /></td>
- <td><input><xsl:copy-of select="@type | @src | @value | @name | @size |
@selected"/></input></td>
- </tr>
- </xsl:template>
-
-
- <xsl:template match="register">
- <center>
- <a href="newAccountForm.do"><img border="0"
src="images/button_register_now.gif" /></a>
- </center>
- </xsl:template>
+ <xsl:template match="site">
+ <html>
+ <head>
+ <meta content="text/html; charset=windows-1252"
http-equiv="Content-Type" />
+ <meta HTTP-EQUIV="Cache-Control" CONTENT="max-age=0"/>
+ <meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache"/>
+ <meta http-equiv="expires" content="0"/>
+ <meta HTTP-EQUIV="Expires" CONTENT="Tue, 01 Jan 1980
1:00:00 GMT"/>
+ <meta HTTP-EQUIV="Pragma" CONTENT="no-cache"/>
+ </head>
+ <body bgcolor="white">
+ <table background="images/bkg-topbar.gif" border="0"
cellspacing="0" cellpadding="5" width="100%">
+ <tbody>
+ <tr>
+ <td>
+ <form method="post"
action="index.do">
+ <input type="image"
border="0" src="images/logo-topbar.gif" />
+ <select name="view"
width="14" align="left" value="Xsp" onChange="document.forms[0].submit()">
+ <option
value="Xsp">Xsp</option>
+ <option
value="Velocity">Velocity</option>
+ </select>
+ </form>
+ </td>
+ <td align="right">
+ <a
href="viewCart.do"><img border="0" name="img_cart" src="images/cart.gif" /></a><img
border="0" src="images/separator.gif" hspace="4" />
+ <xsl:choose>
+ <xsl:when
test="@signOn='true'">
+ <a
href="signonForm.do"><img border="0" name="img_signin" src="images/sign-in.gif" /></a>
+ </xsl:when>
+ <xsl:otherwise>
+ <a
href="signonForm.do?signoff=true"><img border="0" name="img_signout"
src="images/sign-out.gif" /></a><img border="0" src="images/separator.gif" hspace="4"
/>
+ <a
href="editAccount.form"><img border="0" name="img_myaccount"
src="images/my_account.gif" /></a>
+
</xsl:otherwise>
+ </xsl:choose>
+ <img border="0"
src="images/separator.gif" hspace="4" /><a href="../help.html"><img border="0"
name="img_help" src="images/help.gif" /></a>
+ </td>
+ <td align="left"
valign="bottom">
+ <form method="post"
action="searchProducts.do">
+ <input
name="keyword" size="14" />
+ <input
border="0" src="images/search.gif" type="image" />
+ </form>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <center>
+ <a href="viewCategory.do?categoryId=FISH"><img
border="0" src="images/sm_fish.gif" /></a>
+ <img border="0" src="images/separator.gif"
hspace="4" />
+ <a href="viewCategory.do?categoryId=DOGS"><img
border="0" src="images/sm_dogs.gif" /></a>
+ <img border="0" src="images/separator.gif"
hspace="4" />
+ <a
href="viewCategory.do?categoryId=REPTILES"><img border="0"
src="images/sm_reptiles.gif" /></a>
+ <img border="0" src="images/separator.gif"
hspace="4" />
+ <a href="viewCategory.do?categoryId=CATS"><img
border="0" src="images/sm_cats.gif" /></a>
+ <img border="0" src="images/separator.gif"
hspace="4" />
+ <a
href="viewCategory.do?categoryId=BIRDS"><img border="0" src="images/sm_birds.gif"
/></a>
+ </center>
+ <xsl:apply-templates/>
+ <br/>
+ <p align="center">
+ <a href="http://cocoon.apache.org"><img
border="0" align="center" src="images/cocoon.gif" /></a>
+ </p>
+ </body>
+ </html>
+ </xsl:template>
+
+ <xsl:template match="welcome">
+ <table border="0" cellspacing="0" width="100%">
+ <tbody>
+ <tr>
+ <td valign="top" width="100%">
+ <table align="left" border="0"
cellspacing="0" width="80%">
+ <tbody>
+ <tr>
+ <td
valign="top">
+
<xsl:apply-templates/>
+ </td>
+ <td
align="center" bgcolor="white" height="300" width="100%">
+ <map
name="estoremap">
+
<area alt="Birds" coords="72,2,280,250" href="viewCategory.do?categoryId=BIRDS"
shape="RECT" />
+
<area alt="Fish" coords="2,180,72,250" href="viewCategory.do?categoryId=FISH"
shape="RECT" />
+
<area alt="Dogs" coords="60,250,130,320" href="viewCategory.do?categoryId=DOGS"
shape="RECT" />
+
<area alt="Reptiles" coords="140,270,210,340"
href="viewCategory.do?categoryId=REPTILES" shape="RECT" />
+
<area alt="Cats" coords="225,240,295,310" href="viewCategory.do?categoryId=CATS"
shape="RECT" />
+
<area alt="Birds" coords="280,180,350,250" href="viewCategory.do?categoryId=BIRDS"
shape="RECT" />
+ </map>
+ <img
border="0" height="355" src="images/splash.gif" align="center" usemap="#estoremap"
width="350" />
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </xsl:template>
+
+ <xsl:template match="menu">
+ <table bgcolor="#FFFF88" border="0" cellspacing="0" cellpadding="5"
width="200">
+ <tbody>
+ <tr>
+ <td>
+ <!--
+ #if (!$accountForm.signOn)
+ <b><i><font size="2"
color="BLACK">Welcome $accountForm.account.firstName!</font></i></b>
+ #end
+ -->
+ </td>
+ </tr>
+ <xsl:apply-templates/>
+ </tbody>
+ </table>
+ </xsl:template>
+
+ <xsl:template match="menu/category">
+ <tr>
+ <td>
+ <a href="[EMAIL PROTECTED]"><i><h2><xsl:value-of
select="@name" /></h2></i></a>
+ </td>
+ </tr>
+ </xsl:template>
+
+ <xsl:template match="backpointer">
+ <table align="left" bgcolor="#008800" border="0" cellspacing="2"
cellpadding="2">
+ <tr>
+ <td bgcolor="#FFFF88">
+ <a href="[EMAIL PROTECTED]"><b><font
color="BLACK" size="2"><< <xsl:value-of select="@name" /></font></b></a>
+ </td>
+ </tr>
+ </table>
+ </xsl:template>
+
+ <xsl:template match="category">
+ <p>
+ <center>
+ <h2><xsl:value-of select="@name" /></h2>
+ </center>
+ <table align="center" bgcolor="#008800" border="0"
cellspacing="2" cellpadding="3">
+ <tr bgcolor="#CCCCCC">
+ <td>
+ <b>Product ID</b>
+ </td>
+ <td>
+ <b>Name</b>
+ </td>
+ </tr>
+ <xsl:apply-templates/>
+ </table>
+ </p>
+ </xsl:template>
+
+ <xsl:template match="category/product">
+ <tr bgcolor="#FFFF88">
+ <td>
+ <b><a href="[EMAIL PROTECTED]"><font
color="BLACK"><xsl:value-of select="@id" /></font></a></b>
+ </td>
+ <td>
+ <xsl:value-of select="@name" />
+ </td>
+ </tr>
+ </xsl:template>
+
+ <xsl:template match="search">
+ <table align="center" bgcolor="#008800" border="0" cellspacing="2"
cellpadding="3">
+ <tr bgcolor="#CCCCCC">
+ <td></td>
+ <td>
+ <b>Product ID</b>
+ </td>
+ <td>
+ <b>Name</b>
+ </td>
+ </tr>
+
+ <xsl:apply-templates/>
+ </table>
+
+ </xsl:template>
+
+ <xsl:template match="search/product">
+ <tr bgcolor="#FFFF88">
+ <td><a href="[EMAIL PROTECTED]"><xsl:value-of
select="product-desc" /></a></td>
+ <td>
+ <b><a href="[EMAIL PROTECTED]"><font
color="BLACK"><xsl:value-of select="@id" /></font></a></b>
+ </td>
+ <td><xsl:value-of select="@name" /></td>
+ </tr>
+ </xsl:template>
+
+ <xsl:template match="situation">
+ <tr>
+ <td>
+ <xsl:if test="@firstPage='false'" >
+ <a href="[EMAIL PROTECTED]"><font
color="white"><B><< Prev</B></font></a>
+ </xsl:if>
+ <xsl:if test="@lastPage='false'" >
+ <a href="[EMAIL PROTECTED]"><font
color="white"><B>Next >></B></font></a>
+ </xsl:if>
+ </td>
+ </tr>
+ </xsl:template>
+
+ <xsl:template match="product">
+ <p>
+ <center>
+ <b><font size="4"><xsl:value-of select="@name"
/></font></b>
+ </center>
+
+ <table align="center" bgcolor="#008800" border="0"
cellspacing="2" cellpadding="3">
+ <tr bgcolor="#CCCCCC">
+ <td><b>Item ID</b></td>
+ <td><b>Product ID</b></td>
+ <td><b>Description</b></td>
+ <td><b>List Price</b></td>
+ <td></td>
+ </tr>
+ <xsl:apply-templates/>
+ </table>
+ </p>
+ </xsl:template>
+
+ <xsl:template match="product/item">
+ <tr bgcolor="#FFFF88">
+ <td>
+ <b><a href="[EMAIL PROTECTED]"><xsl:value-of
select="@id" /></a></b>
+ </td>
+ <td>
+ <b><xsl:value-of select="@product-id" /></b>
+ </td>
+ <td>
+ <xsl:value-of select="desc" /><xsl:text>
</xsl:text><xsl:value-of select="../@name" />
+ </td>
+ <td>
+ <xsl:text>$</xsl:text> <xsl:value-of select="price" />
+ </td>
+ <td>
+ <a href="[EMAIL PROTECTED]"><img border="0"
src="images/button_add_to_cart.gif" /></a>
+ </td>
+ </tr>
+ </xsl:template>
+
+ <xsl:template name="cart-common-columns">
+ <td><b>Item ID</b></td>
+ <td><b>Product ID</b></td>
+ <td><b>Description</b></td>
+ <td><b>Quantity</b></td>
+ <td><b>List Price</b></td>
+ </xsl:template>
+
+ <xsl:template match="[EMAIL PROTECTED]'Shopping Cart']">
+ <table border="0" width="100%" cellspacing="0" cellpadding="0">
+ <tr>
+ <td valign="top" width="20%" align="left">
+ <xsl:apply-templates select="backpointer" />
+ </td>
+ <td valign="top" align="center">
+ <h2 align="center"><xsl:value-of
select="@name" /></h2>
+ <form action="updateCartQuantities.do"
method="post" >
+ <table align="center"
bgcolor="#008800" border="0" cellspacing="2" cellpadding="5">
+ <tr bgcolor="#cccccc">
+ <xsl:call-template
name="cart-common-columns" />
+ <td></td>
+ </tr>
+ <xsl:if test="not(item)">
+ <tr bgcolor="#FFFF88">
+ <td
colspan="6">
+
<b>Your cart is empty.</b>
+ </td>
+ </tr>
+ </xsl:if>
+ <xsl:apply-templates
select="item" />
+ <tr bgcolor="#FFFF88">
+ <td colspan="5"
align="right">
+ <b>Sub Total:
$<xsl:value-of select="format-number (total, '###,##0.00')"/></b><br />
+ <input
type="image" border="0" src="images/button_update_cart.gif" name="update" />
+ </td>
+ <td></td>
+ </tr>
+ </table>
+ </form>
+ <xsl:if test="item">
+ <xsl:apply-templates
select="nextpointer" />
+ </xsl:if>
+ </td>
+ <td valign="top" width="20%" align="right">
+ </td>
+ </tr>
+ </table>
+ </xsl:template>
+
+ <xsl:template match="[EMAIL PROTECTED]'Checkout Summary']">
+ <table border="0" width="100%" cellspacing="0" cellpadding="0">
+ <tr>
+ <td valign="top" width="20%" align="left">
+ <xsl:apply-templates select="backpointer" />
+ </td>
+ <td valign="top" align="center">
+ <h2 align="center"><xsl:value-of
select="@name" /></h2>
+ <table align="center"
bgcolor="#008800" border="0" cellspacing="2" cellpadding="5">
+ <tr bgcolor="#cccccc">
+ <xsl:call-template
name="cart-common-columns" />
+ </tr>
+ <xsl:apply-templates
select="item" />
+ <tr bgcolor="#FFFF88">
+ <td colspan="5"
align="right">
+ <b>Sub Total:
$<xsl:value-of select="format-number (total, '###,##0.00')"/></b><br />
+ </td>
+ </tr>
+ </table>
+ <xsl:apply-templates
select="nextpointer" />
+ </td>
+ <td valign="top" width="20%" align="right">
+ </td>
+ </tr>
+ </table>
+ </xsl:template>
+
+ <xsl:template match="[EMAIL PROTECTED]'Status']">
+ <table align="center" bgcolor="#008800" border="0" cellspacing="2"
cellpadding="5">
+ <tr bgcolor="#cccccc">
+ <xsl:call-template name="cart-common-columns" />
+ </tr>
+ <xsl:apply-templates select="item" />
+ <tr bgcolor="#FFFF88">
+ <td colspan="5" align="right">
+ <b>Total: $<xsl:value-of select="format-number
(total, '###,##0.00')"/></b><br />
+ </td>
+ </tr>
+ </table>
+ </xsl:template>
+
+
+ <xsl:template match="nextpointer">
+ <br />
+ <center>
+ <a href="[EMAIL PROTECTED]"><img border="0"
src="[EMAIL PROTECTED]" /></a>
+ </center>
+ </xsl:template>
+
+
+ <xsl:template match="cart/item">
+ <tr bgcolor="#FFFF88">
+ <td>
+ <b><xsl:value-of select="@id" /></b>
+ </td>
+ <td>
+ <xsl:value-of select="@product-id" />
+ </td>
+ <td>
+ <xsl:value-of select="desc" />
+ </td>
+ <td align="center">
+ <xsl:choose>
+ <xsl:when test="../@name='Shopping Cart'">
+ <input type="text" size="3"
name="[EMAIL PROTECTED]" >
+ <xsl:attribute
name="value"><xsl:value-of select="format-number (quantity, '####')"/></xsl:attribute>
+ </input>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="format-number
(quantity, '####')"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </td>
+ <td align="right">
+ $<xsl:value-of select="format-number (price,
'###,##0.00')"/>
+ </td>
+ <xsl:if test="../@name='Shopping Cart'">
+ <td>
+ <a href="[EMAIL PROTECTED]"><img border="0"
src="images/button_remove.gif" /></a>
+ </td>
+ </xsl:if>
+ </tr>
+ </xsl:template>
+
+
+
+
+ <xsl:template match="item">
+ <p>
+ <table align="center" bgcolor="#008800" cellspacing="2"
cellpadding="3" border="0" width="60%">
+ <tr bgcolor="#FFFF88">
+ <td bgcolor="#FFFFFF">
+ <xsl:value-of select="product-desc" />
+ </td>
+ </tr>
+ <tr bgcolor="#FFFF88">
+ <td width="100%" bgcolor="#cccccc">
+ <b><xsl:value-of select="@id" /></b>
+ </td>
+ </tr>
+ <tr bgcolor="#FFFF88">
+ <td>
+ <b><font size="4"><xsl:value-of
select="desc" /></font></b>
+ </td>
+ </tr>
+ <tr bgcolor="#FFFF88">
+ <td>
+ <font size="3"><i><xsl:value-of
select="product-name" /></i></font>
+ </td>
+ </tr>
+ <!-- quantity stuff still missing -->
+
+ <tr bgcolor="#FFFF88">
+ <td>
+ <xsl:value-of select="format-number
(instock, '####')"/> in stock.
+ </td>
+ </tr>
+ <tr bgcolor="#FFFF88">
+ <td>
+ $<xsl:value-of select="format-number
(price, '###,##0.00')"/>
+ </td>
+ </tr>
+ <tr bgcolor="#FFFF88">
+ <td>
+ <a href="[EMAIL PROTECTED]" ><img
border="0" src="images/button_add_to_cart.gif" /></a>
+ </td>
+ </tr>
+ </table>
+ </p>
+ </xsl:template>
+
+ <xsl:template match="[EMAIL PROTECTED]'workingAccountForm']">
+ <form>
+ <xsl:copy-of select="@action | @method | @styleId "/>
+ <xsl:choose>
+ <xsl:when test="/site/@signOn='true'">
+ <hidden name="workingAccountForm"
property="validate" value="newAccount"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <hidden name="workingAccountForm"
property="validate" value="editAccount" />
+ <hidden name="workingAccountForm"
property="account.username" />
+ </xsl:otherwise>
+ </xsl:choose>
+ <table cellpadding="10" cellspacing="0" align="center"
border="1" bgcolor="#dddddd">
+ <tr>
+ <td>
+ <xsl:apply-templates/>
+ </td>
+ </tr>
+ </table>
+ <br />
+ <center>
+ <input border="0" type="image"
src="images/button_submit.gif" name="submit" value="Save Account Information" />
+ </center>
+ </form>
+ <xsl:if test="/site/@signOn='false'">
+ <p>
+ <center><b><a href="listOrders.do">My
Orders</a></b></center>
+ </p>
+ </xsl:if>
+ </xsl:template>
+
+
+ <xsl:template match="[EMAIL PROTECTED]'workingOrderForm']">
+ <b><font color="RED"><xsl:value-of select="message" /></font></b>
+ <form>
+ <xsl:copy-of select="@action | @method | @styleId"/>
+ <xsl:apply-templates/>
+ <p>
+ <input type="image" src="images/button_submit.gif"/>
+ </p>
+ </form>
+ </xsl:template>
+
+ <xsl:template match="[EMAIL PROTECTED]'signon']">
+ <xsl:apply-templates select="message"/>
+ <form>
+ <xsl:copy-of select="@action | @method"/>
+ <table align="center" border="0">
+ <tr>
+ <td colspan="2">Please enter your username and
password.<br /> </td>
+ </tr>
+ <xsl:apply-templates select="input"/>
+ </table>
+ </form>
+ </xsl:template>
+
+
+ <xsl:template match="panel[panel]">
+ <table width="60%" align="center" border="0" cellpadding="3"
cellspacing="1" bgcolor="#FFFF88">
+ <xsl:if test="@header">
+ <tr bgcolor="#FFFF88">
+ <td align="center" colspan="2">
+ <font size="4"><b><xsl:value-of
select="@header" /></b></font>
+ <xsl:if test="@subheader">
+ <br /><font
size="3"><b><xsl:value-of select="@subheader" /></b></font>
+ </xsl:if>
+ </td>
+ </tr>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </table>
+ </xsl:template>
+
+ <xsl:template match="panel">
+ <font color="darkgreen"><h3><xsl:value-of select="@label"
/></h3></font>
+ <table border="0" cellpadding="3" cellspacing="1" bgcolor="#008800">
+ <xsl:apply-templates/>
+ </table>
+ </xsl:template>
+
+ <xsl:template match="panel/panel">
+ <tr bgcolor="#FFFF88">
+ <td colspan="2">
+ <font color="GREEN" size="4"><b><xsl:value-of
select="@label" />:</b></font>
+ </td>
+ </tr>
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="panel/select">
+ <tr bgcolor="#FFFF88">
+ <td><xsl:value-of select="@label" /></td>
+ <td>
+ <select>
+ <xsl:copy-of select="@type | @src | @value |
@name | @size | @selected | node()" />
+ </select>
+ </td>
+ </tr>
+ </xsl:template>
+
+ <xsl:template match="panel/input">
+ <tr bgcolor="#FFFF88">
+ <td><xsl:value-of select="@label" /></td>
+ <td><input><xsl:copy-of select="@type | @src | @value | @name
| @size | @selected"/></input></td>
+ </tr>
+ </xsl:template>
+
+ <xsl:template match="panel/field">
+ <tr bgcolor="#FFFF88">
+ <td><xsl:value-of select="@label" />:</td>
+ <td><xsl:value-of select="." /></td>
+ </tr>
+ </xsl:template>
+
+ <xsl:template match="panel/[EMAIL PROTECTED]">
+ <tr bgcolor="#FFFF88">
+ <td colspan="[EMAIL PROTECTED]"><xsl:value-of select="@label"
/>
+ <xsl:apply-templates />
+ </td>
+ </tr>
+ </xsl:template>
+
+ <xsl:template match="message">
+ <br clear="all" />
+ <center>
+ <b>
+ <font size="4">
+ <xsl:if test="@type='warning'">
+ <xsl:attribute
name="color">RED</xsl:attribute>
+ </xsl:if>
+ <xsl:value-of select="." />
+ </font>
+ </b>
+ </center>
+ <br clear="all" />
+ </xsl:template>
+
+
+ <xsl:template match="input">
+ <tr>
+ <td><xsl:value-of select="@label" /></td>
+ <td><input><xsl:copy-of select="@type | @src | @value | @name
| @size | @selected"/></input></td>
+ </tr>
+ </xsl:template>
+
+
+ <xsl:template match="register">
+ <center>
+ <a href="newAccountForm.do"><img border="0"
src="images/button_register_now.gif" /></a>
+ </center>
+ </xsl:template>
+
+
+<!-- XML-Form -->
+
+
+ <xsl:template match="xf:[EMAIL PROTECTED]'edit-account']">
+ <form>
+ <xsl:copy-of select="@*"/>
+ <input type="hidden" name="cocoon-xmlform-view" value="[EMAIL
PROTECTED]"/>
+ <table cellpadding="10" cellspacing="0" align="center"
border="1" bgcolor="#dddddd">
+
+ <xsl:if test="count(error/xf:violation) > 0">
+ <tr>
+ <td align="left" colspan="3"
+
class="{error/xf:violation[1]/@class}">
+ <p>* There are
[<b><xsl:value-of
+
select="count(error/xf:violation)"/></b>]
+ errors. Please fix
these errors and submit the
+ form again.</p>
+ </td>
+ </tr>
+ </xsl:if>
+
+ <tr>
+ <td>
+ <xsl:apply-templates select="*[name() !=
'xf:submit']" />
+ </td>
+ </tr>
+ </table>
+ <br />
+ <center>
+ <!--<input border="0" type="image"
src="images/button_submit.gif" name="submit" value="Save Account Information"
id="{xf:submit/@id}" continuation="forward"/> -->
+ <xsl:apply-templates select="xf:submit" />
+ </center>
+ </form>
+ <xsl:if test="/site/@signOn='false'">
+ <p>
+ <center><b><a href="listOrders.do">My
Orders</a></b></center>
+ </p>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="xf:group/xf:caption" />
+ <xsl:template match="xf:hint">
+ <xsl:attribute name="title"><xsl:value-of select="."/></xsl:attribute>
+ </xsl:template>
+ <xsl:template match="xf:violation" />
+
+ <xsl:template match="xf:group">
+ <font color="darkgreen"><h3><xsl:value-of select="xf:caption"
/></h3></font>
+ <table border="0" cellpadding="3" cellspacing="1" bgcolor="#008800">
+ <xsl:apply-templates/>
+ </table>
+ </xsl:template>
+
+
+ <xsl:template match="xf:textbox">
+ <tr bgcolor="#FFFF88">
+ <td><xsl:value-of select="xf:caption" /></td>
+ <td>
+ <input name="[EMAIL PROTECTED]" type="textbox"
value="{xf:value/text()}">
+ <xsl:copy-of select="@*[not(name()='ref')]"/>
+ </input>
+ <xsl:apply-templates select="xf:hint"/>
+ <xsl:apply-templates select="xf:violation"/>
+ </td>
+ </tr>
+ </xsl:template>
+
+ <xsl:template match="xf:password">
+ <tr bgcolor="#FFFF88">
+ <td><xsl:value-of select="xf:caption" /></td>
+ <td>
+ <input name="[EMAIL PROTECTED]" type="password"
value="{xf:value/text()}">
+ <xsl:copy-of select="@*[not(name()='ref')]"/>
+ </input>
+ <xsl:apply-templates select="xf:violation"/>
+ </td>
+ </tr>
+ </xsl:template>
+
+
+ <xsl:template match="xf:selectOne | xf:[EMAIL PROTECTED]'listbox']">
+ <tr bgcolor="#FFFF88">
+ <td><xsl:value-of select="xf:caption" /></td>
+ <td>
+ <select name="[EMAIL PROTECTED]">
+ <xsl:copy-of select="@*[not(name()='ref')]"/>
+ <xsl:variable name="selected"
select="xf:value"/>
+ <xsl:for-each select="xf:item">
+ <option value="{xf:value}">
+ <xsl:if test="$selected =
xf:value">
+ <xsl:attribute
name="selected"/>
+ </xsl:if>
+ <xsl:value-of
select="xf:caption"/>
+ </option>
+ </xsl:for-each>
+ </select>
+ <xsl:apply-templates select="xf:violation"/>
+ </td>
+ </tr>
+ </xsl:template>
+
+ <xsl:template match="xf:selectBoolean">
+ <tr bgcolor="#FFFF88">
+ <td colspan="2">
+ <input name="[EMAIL PROTECTED]" type="checkbox"
value="true">
+ <xsl:copy-of select="@*[not(name()='ref')]"/>
+ <xsl:if test="xf:value/text() = 'true'">
+ <xsl:attribute name="checked"/>
+ </xsl:if>
+ </input>
+ <xsl:value-of select="xf:caption" />
+ </td>
+ </tr>
+ </xsl:template>
+
+ <xsl:template match="xf:submit">
+ <!-- the id attribute of the submit control is sent to the server -->
+ <!-- as a conventional Cocoon Action parameter of the form cocoon-action-*
-->
+ <input name="[EMAIL PROTECTED]" type="submit"
value="{xf:caption/text()}">
+ <xsl:copy-of select="@*[not(name()='id')]"/>
+ <xsl:apply-templates select="xf:hint"/>
+ </input>
+ </xsl:template>
</xsl:stylesheet>
1.2 +2 -2
cocoon-2.1/src/scratchpad/webapp/samples/petstore/view/templates/Cart.vm
Index: Cart.vm
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/scratchpad/webapp/samples/petstore/view/templates/Cart.vm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Cart.vm 14 Mar 2003 17:15:27 -0000 1.1
+++ Cart.vm 25 Mar 2003 20:55:10 -0000 1.2
@@ -36,7 +36,7 @@
<td align="center">
<input type="text" size="3" name="$cartItem.item.itemId"
value="$cartItem.quantity.intValue()" />
</td>
- <td align="right">$yoshi.formatNumber($cartItem.item.listPrice, '$#,##0.00')</td>
+ <td align="right">$fmt.formatNumber($cartItem.item.listPrice, '$#,##0.00')</td>
<td><a href="removeItemFromCart.do?workingItemId=$cartItem.item.itemId">
<img border="0" src="images/button_remove.gif" /></a></td>
</tr>
@@ -44,7 +44,7 @@
<tr bgcolor="#FFFF88">
<td colspan="5" align="right">
-<b>Sub Total: $yoshi.formatNumber($cartForm.cart.subTotal, '$#,##0.00')</b><br />
+<b>Sub Total: $fmt.formatNumber($cartForm.cart.subTotal, '$#,##0.00')</b><br />
<input type="image" border="0" src="images/button_update_cart.gif" name="update" />
</td><td> </td>
1.2 +2 -2
cocoon-2.1/src/scratchpad/webapp/samples/petstore/view/templates/Checkout.vm
Index: Checkout.vm
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/scratchpad/webapp/samples/petstore/view/templates/Checkout.vm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Checkout.vm 14 Mar 2003 17:15:27 -0000 1.1
+++ Checkout.vm 25 Mar 2003 20:55:10 -0000 1.2
@@ -34,13 +34,13 @@
<td align="center">
$cartItem.quantity.intValue()
</td>
- <td align="right">$yoshi.formatNumber($cartItem.item.listPrice, '$#,##0.00')</td>
+ <td align="right">$fmt.formatNumber($cartItem.item.listPrice, '$#,##0.00')</td>
</tr>
#end
<tr bgcolor="#FFFF88">
<td colspan="5" align="right">
cart=$cartForm.cart.numberOfItems
-<b>Sub Total: $yoshi.formatNumber($cartForm.cart.subTotal, '$#,##0.00')</b><br />
+<b>Sub Total: $fmt.formatNumber($cartForm.cart.subTotal, '$#,##0.00')</b><br />
</td>
</tr>
1.2 +1 -1
cocoon-2.1/src/scratchpad/webapp/samples/petstore/view/templates/ConfirmOrder.vm
Index: ConfirmOrder.vm
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/scratchpad/webapp/samples/petstore/view/templates/ConfirmOrder.vm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ConfirmOrder.vm 14 Mar 2003 17:15:27 -0000 1.1
+++ ConfirmOrder.vm 25 Mar 2003 20:55:10 -0000 1.2
@@ -15,7 +15,7 @@
<table width="60%" align="center" border="0" cellpadding="3" cellspacing="1"
bgcolor="#FFFF88">
<tr bgcolor="#FFFF88"><td align="center" colspan="2">
<font size="4"><b>Order #$order.orderId</b></font>
- <br /><font size="3"><b>$yoshi.formatDate($order.orderDate, 'yyyy/MM/dd
hh:mm:ss')</b></font>
+ <br /><font size="3"><b>$fmt.formatDate($order.orderDate, 'yyyy/MM/dd
hh:mm:ss')</b></font>
</td></tr>
<tr bgcolor="#FFFF88"><td colspan="2">
<font color="GREEN" size="4"><b>Payment Details</b></font>
1.4 +1 -1
cocoon-2.1/src/scratchpad/webapp/samples/petstore/view/templates/IncludeTop.vm
Index: IncludeTop.vm
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/scratchpad/webapp/samples/petstore/view/templates/IncludeTop.vm,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- IncludeTop.vm 20 Mar 2003 15:21:17 -0000 1.3
+++ IncludeTop.vm 25 Mar 2003 20:55:10 -0000 1.4
@@ -31,7 +31,7 @@
<a href="signonForm.do?signoff=true">
<img border="0" name="img_signout" src="images/sign-out.gif" /></a>
<img border="0" src="images/separator.gif" />
- <a href="editAccountForm.do">
+ <a href="editAccount.form">
<img border="0" name="img_myaccount" src="images/my_account.gif" /></a>
#end
1.3 +1 -1
cocoon-2.1/src/scratchpad/webapp/samples/petstore/view/templates/Item.vm
Index: Item.vm
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/scratchpad/webapp/samples/petstore/view/templates/Item.vm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Item.vm 17 Mar 2003 04:51:53 -0000 1.2
+++ Item.vm 25 Mar 2003 20:55:10 -0000 1.3
@@ -41,7 +41,7 @@
#end
</td></tr>
<tr bgcolor="#FFFF88"><td>
- $yoshi.formatNumber($item.listPrice, '$#,##0.00')
+ $fmt.formatNumber($item.listPrice, '$#,##0.00')
</td></tr>
<tr bgcolor="#FFFF88"><td>
1.2 +1 -1
cocoon-2.1/src/scratchpad/webapp/samples/petstore/view/templates/Product.vm
Index: Product.vm
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/scratchpad/webapp/samples/petstore/view/templates/Product.vm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Product.vm 14 Mar 2003 17:15:27 -0000 1.1
+++ Product.vm 25 Mar 2003 20:55:10 -0000 1.2
@@ -30,7 +30,7 @@
$!item.attr5
$product.name
</td>
- <td>$yoshi.formatNumber($item.listPrice, '$#,##0.00')</td>
+ <td>$fmt.formatNumber($item.listPrice, '$#,##0.00')</td>
<td><a href="addItemToCart.do?itemId=$item.itemId">
<img border="0" src="images/button_add_to_cart.gif" /></a></td>
</tr>
1.4 +2 -2
cocoon-2.1/src/scratchpad/webapp/samples/petstore/view/templates/ViewOrder.vm
Index: ViewOrder.vm
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/scratchpad/webapp/samples/petstore/view/templates/ViewOrder.vm,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ViewOrder.vm 17 Mar 2003 04:57:42 -0000 1.3
+++ ViewOrder.vm 25 Mar 2003 20:55:10 -0000 1.4
@@ -23,7 +23,7 @@
<table width="60%" align="center" border="0" cellpadding="3" cellspacing="1"
bgcolor="#FFFF88">
<tr bgcolor="#FFFF88"><td align="center" colspan="2">
<font size="4"><b>Order #$order.orderId</b></font>
- <br /><font size="3"><b>$yoshi.formatDate($order.orderDate, 'yyyy/MM/dd
hh:mm:ss')</b></font>
+ <br /><font size="3"><b>$fmt.formatDate($order.orderDate, 'yyyy/MM/dd
hh:mm:ss')</b></font>
</td></tr>
<tr bgcolor="#FFFF88"><td colspan="2">
<font color="GREEN" size="4"><b>Payment Details</b></font>
@@ -126,7 +126,7 @@
</tr>
#end
<tr bgcolor="#FFFF88">
- <td colspan="4" align="right"><b>Total: $yoshi.formatNumber($order.totalPrice,
'$#,##0.00')</b></td>
+ <td colspan="4" align="right"><b>Total: $fmt.formatNumber($order.totalPrice,
'$#,##0.00')</b></td>
</tr>
</table>
</td></tr>
1.2 +80 -68
cocoon-2.1/src/scratchpad/webapp/samples/petstore/view/xmlform/EditAccountForm.xml
Index: EditAccountForm.xml
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/scratchpad/webapp/samples/petstore/view/xmlform/EditAccountForm.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- EditAccountForm.xml 22 Mar 2003 22:52:55 -0000 1.1
+++ EditAccountForm.xml 25 Mar 2003 20:55:10 -0000 1.2
@@ -1,78 +1,90 @@
<?xml version="1.0"?>
-<document xmlns:xf="http://xml.apache.org/cocoon/xmlform/2002">
+<site xmlns:xf="http://xml.apache.org/cocoon/xmlform/2002">
<xf:form id="petstore-edit-account" view="edit-account" action="petstore"
method="GET">
- <xf:caption>User Information</xf:caption>
<error>
<xf:violations class="error"/>
</error>
- <xf:textbox ref="/username">
- <xf:caption>User ID:</xf:caption>
- <xf:violations class="error"/>
- </xf:textbox>
- <xf:password ref="/password">
- <xf:caption>Password:</xf:caption>
- <xf:violations class="error"/>
- </xf:password>
- <xf:password ref="/password2">
- <xf:caption>Repeat Password:</xf:caption>
- <xf:violations class="error"/>
- </xf:password>
- <xf:textbox ref="/account/firstName">
- <xf:caption>First Name:</xf:caption>
- <xf:violations class="error"/>
- </xf:textbox>
- <xf:textbox ref="/account/lastName">
- <xf:caption>Last Name:</xf:caption>
- <xf:violations class="error"/>
- </xf:textbox>
- <xf:textbox ref="/account/email">
- <xf:caption>Email:</xf:caption>
- <xf:violations class="error"/>
- </xf:textbox>
- <xf:textbox ref="/account/phone">
- <xf:caption>Phone:</xf:caption>
- <xf:violations class="error"/>
- </xf:textbox>
- <xf:textbox ref="/account/address1">
- <xf:caption>Address 1:</xf:caption>
- <xf:violations class="error"/>
- </xf:textbox>
- <xf:textbox ref="/account/address2">
- <xf:caption>Address 2:</xf:caption>
- <xf:violations class="error"/>
- </xf:textbox>
- <xf:textbox ref="/account/city">
- <xf:caption>City:</xf:caption>
- <xf:violations class="error"/>
- </xf:textbox>
- <xf:textbox ref="/account/state">
- <xf:caption>State:</xf:caption>
- <xf:violations class="error"/>
- </xf:textbox>
- <xf:textbox ref="/account/zip">
- <xf:caption>Zip:</xf:caption>
- <xf:violations class="error"/>
- </xf:textbox>
- <xf:textbox ref="/account/country">
- <xf:caption>Country:</xf:caption>
- <xf:violations class="error"/>
- </xf:textbox>
- <xf:selectOne ref="/account/favCategory">
- <xf:caption>Favorite Category:</xf:caption>
- <xf:itemset nodeset="/categoryList">
- <xf:caption><xf:output ref="name"/></xf:caption>
- <xf:value><xf:output ref="name"/></xf:value>
- </xf:itemset>
- </xf:selectOne>
- <xf:selectBoolean ref="/account/listOption">
- <xf:caption>Enable MyList</xf:caption>
- </xf:selectBoolean>
- <xf:selectBoolean ref="/account/bannerOption">
- <xf:caption>Enable MyBanner</xf:caption>
- </xf:selectBoolean>
+
+ <xf:group ref="/">
+ <xf:caption>User Information</xf:caption>
+ <xf:textbox ref="/username">
+ <xf:caption>User ID:</xf:caption>
+ <xf:violations class="error"/>
+ </xf:textbox>
+ <xf:password ref="/password">
+ <xf:caption>Password:</xf:caption>
+ <xf:violations class="error"/>
+ </xf:password>
+ <xf:password ref="/password2">
+ <xf:caption>Repeat Password:</xf:caption>
+ <xf:violations class="error"/>
+ </xf:password>
+ </xf:group>
+
+ <xf:group ref="/account">
+ <xf:caption>Account Information</xf:caption>
+ <xf:textbox ref="/account/firstName">
+ <xf:caption>First Name:</xf:caption>
+ <xf:violations class="error"/>
+ </xf:textbox>
+ <xf:textbox ref="/account/lastName">
+ <xf:caption>Last Name:</xf:caption>
+ <xf:violations class="error"/>
+ </xf:textbox>
+ <xf:textbox ref="/account/email">
+ <xf:caption>Email:</xf:caption>
+ <xf:violations class="error"/>
+ </xf:textbox>
+ <xf:textbox ref="/account/phone">
+ <xf:caption>Phone:</xf:caption>
+ <xf:violations class="error"/>
+ </xf:textbox>
+ <xf:textbox ref="/account/address1">
+ <xf:caption>Address 1:</xf:caption>
+ <xf:violations class="error"/>
+ </xf:textbox>
+ <xf:textbox ref="/account/address2">
+ <xf:caption>Address 2:</xf:caption>
+ <xf:violations class="error"/>
+ </xf:textbox>
+ <xf:textbox ref="/account/city">
+ <xf:caption>City:</xf:caption>
+ <xf:violations class="error"/>
+ </xf:textbox>
+ <xf:textbox ref="/account/state">
+ <xf:caption>State:</xf:caption>
+ <xf:violations class="error"/>
+ </xf:textbox>
+ <xf:textbox ref="/account/zip">
+ <xf:caption>Zip:</xf:caption>
+ <xf:violations class="error"/>
+ </xf:textbox>
+ <xf:textbox ref="/account/country">
+ <xf:caption>Country:</xf:caption>
+ <xf:violations class="error"/>
+ </xf:textbox>
+ </xf:group>
+
+ <xf:group ref="/account">
+ <xf:caption>Profile Information</xf:caption>
+ <xf:selectOne ref="/account/favCategory">
+ <xf:caption>Favorite Category:</xf:caption>
+ <xf:itemset nodeset="/categoryList">
+ <xf:caption><xf:output ref="name"/></xf:caption>
+ <xf:value><xf:output ref="name"/></xf:value>
+ </xf:itemset>
+ </xf:selectOne>
+ <xf:selectBoolean ref="/account/listOption">
+ <xf:caption>Enable MyList</xf:caption>
+ </xf:selectBoolean>
+ <xf:selectBoolean ref="/account/bannerOption">
+ <xf:caption>Enable MyBanner</xf:caption>
+ </xf:selectBoolean>
+ </xf:group>
+
<xf:submit id="next" continuation="forward" class="button">
<xf:caption>Submit</xf:caption>
<xf:hint>Submit Account Information</xf:hint>
</xf:submit>
</xf:form>
-</document>
+</site>