You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by re...@apache.org on 2003/08/01 11:39:27 UTC

cvs commit: cocoon-2.1/src/blocks/jxforms/samples/wizard confirm.xml deployment.xml end.xml schematron.xml system.xml userIdentity.xml

reinhard    2003/08/01 02:39:27

  Modified:    src/blocks/jxforms/samples sitemap.xmap
               src/blocks/jxforms/samples/stylesheets jxforms-default.xsl
                        wizard2html.xsl
               src/blocks/jxforms/samples/wizard confirm.xml deployment.xml
                        end.xml schematron.xml system.xml userIdentity.xml
  Log:
  - use standard stylesheet for presentation
  
  Revision  Changes    Path
  1.3       +5 -1      cocoon-2.1/src/blocks/jxforms/samples/sitemap.xmap
  
  Index: sitemap.xmap
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/jxforms/samples/sitemap.xmap,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- sitemap.xmap	20 Jul 2003 22:53:40 -0000	1.2
  +++ sitemap.xmap	1 Aug 2003 09:39:27 -0000	1.3
  @@ -75,7 +75,11 @@
   	      <map:generate type="jxforms" src="wizard/{1}.xml"/>
   	
   	      <!-- Personalize the look and feel of the form controls  -->
  -	      <map:transform type="xalan" src="stylesheets/wizard2html.xsl" />
  +	      <!--map:transform type="xalan" src="stylesheets/wizard2html.xsl" /-->
  +
  +          <map:transform src="context://samples/common/style/xsl/html/complex-page2html.xsl">
  +            <map:parameter name="contextPath" value="{request:contextPath}"/>
  +          </map:transform>
   
   	      <!-- Transform the JXForms controls to HTML controls -->
   
  
  
  
  1.2       +11 -17    cocoon-2.1/src/blocks/jxforms/samples/stylesheets/jxforms-default.xsl
  
  Index: jxforms-default.xsl
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/jxforms/samples/stylesheets/jxforms-default.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- jxforms-default.xsl	12 Jul 2003 19:22:30 -0000	1.1
  +++ jxforms-default.xsl	1 Aug 2003 09:39:27 -0000	1.2
  @@ -21,16 +21,13 @@
   		<xf:form method="post">
   			<xsl:copy-of select="@*" />
   			<br/>
  -			<br/>
  -			<br/>
  -			<br/>
  -			<table align="center" border="0">
  +			<table align="left" border="0">
   				<tr>
  -					<td align="center" colspan="3">
  -						<h1>
  +					<td align="left" colspan="3" with="760">
  +						<h4 class="samplesGroup">
   							<xsl:value-of select="xf:label"/>
  -							<hr/>
  -						</h1>
  +						</h4>
  +						<br/>
   					</td>
   				</tr>
   				<xsl:if test="count(error/xf:violation) > 0">
  @@ -103,15 +100,12 @@
   		</tr>
   	</xsl:template>
   	<xsl:template match="xf:output[@form]">
  -		<div align="center">
  -			<hr width="30%"/>
  -			<br/>
  -			<font size="-1">
  -				<code> <xsl:value-of select="xf:label" /> : <xsl:copy-of
  -					select="." /> </code>
  -			</font>
  -			<br/>
  -		</div>
  +	    <br clear="all"/>
  +	    <br/>
  +		<font size="-1">
  +			<code> <xsl:value-of select="xf:label" /> : <xsl:copy-of
  +				select="." /> </code>
  +		</font>
   	</xsl:template>
   	<xsl:template match="xf:label"/>
   	<xsl:template match="xf:*">
  
  
  
  1.2       +16 -18    cocoon-2.1/src/blocks/jxforms/samples/stylesheets/wizard2html.xsl
  
  Index: wizard2html.xsl
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/jxforms/samples/stylesheets/wizard2html.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- wizard2html.xsl	12 Jul 2003 19:22:30 -0000	1.1
  +++ wizard2html.xsl	1 Aug 2003 09:39:27 -0000	1.2
  @@ -18,25 +18,23 @@
   		<html>
   			<head>
   				<title>JXForms - Cocoon Feedback Wizard</title>
  +				<link href="/styles/main.css" type="text/css" rel="stylesheet"/>
   				<style type="text/css"> <![CDATA[
  -              H1{font-family : sans-serif,Arial,Tahoma;color : white;background-color : #0086b2;} 
  -              BODY{font-family : sans-serif,Arial,Tahoma;color : black;background-color : white;} 
  -              B{color : white;background-color : blue;} 
  -              HR{color : #0086b2;}
  -              input { background-color: #FFFFFF; color: #000099; border: 1px solid #0000FF; }		
  -              table { background-color: #EEEEEE; color: #000099; font-size: x-small; border: 2px solid brown;}
  -              select { background-color: #FFFFFF; color: #000099 }
  -             .caption { line-height: 195% }
  -             .error { color: #FF0000; }	      
  -             .help { color: #0000FF; font-style: italic; }
  -             .invalid { color: #FF0000; border: 2px solid #FF0000; }
  -             .info { color: #0000FF; border: 1px solid #0000FF; }
  -             .repeat { border: 0px inset #999999;border: 1px inset #999999; width: 100%; }
  -             .group { border: 0px inset #999999;border: 0px inset #999999;  width: 100%; }
  -             .sub-table { border: none; }
  -             .button { background-color: #FFFFFF; color: #000099; border: 1px solid #666666; width: 70px; }
  -             .plaintable { border: 0px inset black;border: 0px inset black; width: 100%; }
  -              ]]> </style>
  +                  B{color : white;background-color : blue;}
  +                  input { background-color: #FFFFFF; color: #000099; border: 1px solid #0000FF; }		
  +                  select { background-color: #FFFFFF; color: #000099 }
  +                  .caption { line-height: 195% }
  +                  .error { color: #FF0000; }	      
  +                  .help { color: #0000FF; font-style: italic; }
  +                  .invalid { color: #FF0000; border: 2px solid #FF0000; }
  +                  .info { color: #0000FF; border: 1px solid #0000FF; }
  +                  .repeat { border: 0px inset #999999;border: 1px inset #999999; width: 100%; }
  +                  .group { border: 0px inset #999999;border: 0px inset #999999;  width: 100%; }
  +                  .sub-table { border: none; }
  +                  .button { background-color: #FFFFFF; color: #000099; border: 1px solid #666666; width: 70px; }
  +                  .plaintable { border: 0px inset black;border: 0px inset black; width: 100%; }
  +                  ]]> 
  +               </style>				
   			</head>
   			<body>
   				<xsl:apply-templates />
  
  
  
  1.2       +87 -79    cocoon-2.1/src/blocks/jxforms/samples/wizard/confirm.xml
  
  Index: confirm.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/jxforms/samples/wizard/confirm.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- confirm.xml	20 Jul 2003 22:53:41 -0000	1.1
  +++ confirm.xml	1 Aug 2003 09:39:27 -0000	1.2
  @@ -1,81 +1,89 @@
  -<?xml version="1.0"?>
  +<?xml version="1.0" encoding="UTF-8"?>
   <document xmlns:xf="http://apache.org/cocoon/jxforms/1.0">
  -  <xf:form id="form-feedback" view="confirm">
  -    <xf:label>Confirm Input</xf:label>
  -    <!-- from page1 -->
  -    <xf:output ref="firstName">
  -      <xf:label>First Name</xf:label>
  -    </xf:output>
  -    <xf:output ref="lastName">
  -      <xf:label>Last Name</xf:label>
  -    </xf:output>
  -    <xf:output ref="email">
  -      <xf:label>Email</xf:label>
  -    </xf:output>
  -    <xf:output ref="age">
  -      <xf:label>Age</xf:label>
  -      <xf:violations class="error"/>
  -    </xf:output>
  -    <xf:group ref="/">
  -      <xf:label>Professional roles</xf:label>
  -      <xf:repeat nodeset="role">
  -        <xf:output ref="."/>
  -      </xf:repeat>
  -    </xf:group>
  -    <xf:group ref="/">
  -      <xf:label>Personal hobbies</xf:label>
  -      <xf:repeat nodeset="hobby">
  -        <xf:output ref="."/>
  -      </xf:repeat>
  -    </xf:group>
  -    <xf:output ref="hidden">
  -      <xf:label>Hidden attribute</xf:label>
  -    </xf:output>
  -    <!-- from page2 -->
  -    <xf:output ref="number">
  -      <xf:label>Number of installations</xf:label>
  -    </xf:output>
  -    <xf:output ref="liveUrl">
  -      <xf:label>Live URL</xf:label>
  -    </xf:output>
  -    <xf:output ref="publish">
  -      <xf:label>Publish URL</xf:label>
  -    </xf:output>
  -    <!-- from page3 -->
  -    <xf:output ref="system/os">
  -      <xf:label>OS</xf:label>
  -    </xf:output>
  -    <xf:output ref="system/processor">
  -      <xf:label>Processor</xf:label>
  -    </xf:output>
  -    <xf:output ref="system/@ram">
  -      <xf:label>RAM</xf:label>
  -    </xf:output>
  -    <xf:output ref="system/servletEngine">
  -      <xf:label>Servlet Engine</xf:label>
  -    </xf:output>
  -    <xf:output ref="system/javaVersion">
  -      <xf:label>Java Version</xf:label>
  -    </xf:output>
  -    <xf:group ref="/" id="favorites_group">
  -      <xf:label>Favorite web sites</xf:label>
  -      <xf:repeat nodeset="favorite[position() &lt;= 3]" id="favorites">
  -        <xf:output ref="." class="info">
  -          <xf:label>URL: </xf:label>
  -        </xf:output>
  -      </xf:repeat>
  -    </xf:group>
  -    <!-- submit -->
  -    <xf:submit id="prev" continuation="back" class="button">
  -      <xf:label>Prev</xf:label>
  -      <xf:hint>Go to previous page</xf:hint>
  -    </xf:submit>
  -    <xf:submit id="next" continuation="forward" class="button">
  -      <xf:label>Finish</xf:label>
  -      <xf:hint>Finish the wizard</xf:hint>
  -    </xf:submit>
  -  </xf:form>
  -  <xf:output ref="count" id="show_count" form="form-feedback" class="info">
  -    <xf:label>Visits Count</xf:label>
  -  </xf:output>
  +  <header>
  +    <title>JXForms: Calculator</title>
  +    <tab href=".." title="Back"/>
  +  </header>
  +  <body>
  +    <section>
  +      <xf:form id="form-feedback" view="confirm">
  +        <xf:label>Confirm Input</xf:label>
  +        <!-- from page1 -->
  +        <xf:output ref="firstName">
  +          <xf:label>First Name</xf:label>
  +        </xf:output>
  +        <xf:output ref="lastName">
  +          <xf:label>Last Name</xf:label>
  +        </xf:output>
  +        <xf:output ref="email">
  +          <xf:label>Email</xf:label>
  +        </xf:output>
  +        <xf:output ref="age">
  +          <xf:label>Age</xf:label>
  +          <xf:violations class="error"/>
  +        </xf:output>
  +        <xf:group ref="/">
  +          <xf:label>Professional roles</xf:label>
  +          <xf:repeat nodeset="role">
  +            <xf:output ref="."/>
  +          </xf:repeat>
  +        </xf:group>
  +        <xf:group ref="/">
  +          <xf:label>Personal hobbies</xf:label>
  +          <xf:repeat nodeset="hobby">
  +            <xf:output ref="."/>
  +          </xf:repeat>
  +        </xf:group>
  +        <xf:output ref="hidden">
  +          <xf:label>Hidden attribute</xf:label>
  +        </xf:output>
  +        <!-- from page2 -->
  +        <xf:output ref="number">
  +          <xf:label>Number of installations</xf:label>
  +        </xf:output>
  +        <xf:output ref="liveUrl">
  +          <xf:label>Live URL</xf:label>
  +        </xf:output>
  +        <xf:output ref="publish">
  +          <xf:label>Publish URL</xf:label>
  +        </xf:output>
  +        <!-- from page3 -->
  +        <xf:output ref="system/os">
  +          <xf:label>OS</xf:label>
  +        </xf:output>
  +        <xf:output ref="system/processor">
  +          <xf:label>Processor</xf:label>
  +        </xf:output>
  +        <xf:output ref="system/@ram">
  +          <xf:label>RAM</xf:label>
  +        </xf:output>
  +        <xf:output ref="system/servletEngine">
  +          <xf:label>Servlet Engine</xf:label>
  +        </xf:output>
  +        <xf:output ref="system/javaVersion">
  +          <xf:label>Java Version</xf:label>
  +        </xf:output>
  +        <xf:group id="favorites_group" ref="/">
  +          <xf:label>Favorite web sites</xf:label>
  +          <xf:repeat id="favorites" nodeset="favorite[position() &lt;= 3]">
  +            <xf:output class="info" ref=".">
  +              <xf:label>URL: </xf:label>
  +            </xf:output>
  +          </xf:repeat>
  +        </xf:group>
  +        <!-- submit -->
  +        <xf:submit class="button" continuation="back" id="prev">
  +          <xf:label>Prev</xf:label>
  +          <xf:hint>Go to previous page</xf:hint>
  +        </xf:submit>
  +        <xf:submit class="button" continuation="forward" id="next">
  +          <xf:label>Finish</xf:label>
  +          <xf:hint>Finish the wizard</xf:hint>
  +        </xf:submit>
  +      </xf:form>
  +      <xf:output class="info" form="form-feedback" id="show_count" ref="count">
  +        <xf:label>Visits Count</xf:label>
  +      </xf:output>
  +    </section>
  +  </body>
   </document>
  
  
  
  1.2       +63 -55    cocoon-2.1/src/blocks/jxforms/samples/wizard/deployment.xml
  
  Index: deployment.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/jxforms/samples/wizard/deployment.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- deployment.xml	20 Jul 2003 22:53:41 -0000	1.1
  +++ deployment.xml	1 Aug 2003 09:39:27 -0000	1.2
  @@ -1,57 +1,65 @@
  -<?xml version="1.0"?>
  +<?xml version="1.0" encoding="UTF-8"?>
   <document xmlns:xf="http://apache.org/cocoon/jxforms/1.0">
  -	<xf:form id="form-feedback" view="deployment">
  -		<xf:label>Cocoon Deployment Information</xf:label>
  -		<error>
  -			<xf:violations class="error"/>
  -		</error>
  -		<xf:input ref="/number">
  -			<xf:label>Number of deployments</xf:label>
  -			<xf:violations class="error"/>
  -		</xf:input>
  -		<xf:input ref="/liveUrl">
  -			<xf:label>Live URL</xf:label>
  -			<xf:help>You must enter a valid URL</xf:help>
  -			<xf:violations class="error"/>
  -		</xf:input>
  -		<xf:select1 ref="/publish" appearance="full">
  -			<xf:label>Publish</xf:label>
  -                        <xf:item>
  -                           <xf:label>Yes</xf:label>
  -                           <xf:value>true</xf:value>
  -                        </xf:item>
  -                        <xf:item>
  -                           <xf:label>No</xf:label>
  -                           <xf:value></xf:value>
  -                        </xf:item>
  -		</xf:select1>
  -		<xf:group nodeset="" id="favorites_group">
  -			<xf:label>Favorite web sites</xf:label>
  -			<!-- 
  -              repeat is a very powerful iterator tag,
  -              because it iterates over a nodeset resulting from
  -              the 'nodeset' selector attribute.
  -              Very similar to xslt's for-each tag.
  -
  -              In this case we iterate over the top three favorite
  -              web sites.
  -            -->
  -			<xf:repeat nodeset="favorite[position() &lt;= 3]" id="favorites">
  -				<xf:input ref="." class="info">
  -					<xf:label>URL:</xf:label>
  -				</xf:input>
  -			</xf:repeat>
  -		</xf:group>
  -		<xf:submit id="prev" continuation="back" class="button">
  -			<xf:label>Prev</xf:label>
  -			<xf:hint>Go to previous page</xf:hint>
  -		</xf:submit>
  -		<xf:submit id="next" continuation="forward" class="button">
  -			<xf:label>Next</xf:label>
  -			<xf:hint>Go to next page</xf:hint>
  -		</xf:submit>
  -	</xf:form>
  -	<xf:output ref="count" id="show_count" form="form-feedback" class="info">
  -		<xf:label>Visits Count</xf:label>
  -	</xf:output>
  +  <header>
  +    <title>JXForms: Calculator</title>
  +    <tab href=".." title="Back"/>
  +  </header>
  +  <body>
  +    <section>
  +      <xf:form id="form-feedback" view="deployment">
  +        <xf:label>Cocoon Deployment Information</xf:label>
  +        <error>
  +          <xf:violations class="error"/>
  +        </error>
  +        <xf:input ref="/number">
  +          <xf:label>Number of deployments</xf:label>
  +          <xf:violations class="error"/>
  +        </xf:input>
  +        <xf:input ref="/liveUrl">
  +          <xf:label>Live URL</xf:label>
  +          <xf:help>You must enter a valid URL</xf:help>
  +          <xf:violations class="error"/>
  +        </xf:input>
  +        <xf:select1 appearance="full" ref="/publish">
  +          <xf:label>Publish</xf:label>
  +          <xf:item>
  +            <xf:label>Yes</xf:label>
  +            <xf:value>true</xf:value>
  +          </xf:item>
  +          <xf:item>
  +            <xf:label>No</xf:label>
  +            <xf:value/>
  +          </xf:item>
  +        </xf:select1>
  +        <xf:group id="favorites_group" nodeset="">
  +          <xf:label>Favorite web sites</xf:label>
  +          <!-- 
  +                  repeat is a very powerful iterator tag,
  +                  because it iterates over a nodeset resulting from
  +                  the 'nodeset' selector attribute.
  +                  Very similar to xslt's for-each tag.
  +        
  +                  In this case we iterate over the top three favorite
  +                  web sites.
  +                -->
  +          <xf:repeat id="favorites" nodeset="favorite[position() &lt;= 3]">
  +            <xf:input class="info" ref=".">
  +              <xf:label>URL:</xf:label>
  +            </xf:input>
  +          </xf:repeat>
  +        </xf:group>
  +        <xf:submit class="button" continuation="back" id="prev">
  +          <xf:label>Prev</xf:label>
  +          <xf:hint>Go to previous page</xf:hint>
  +        </xf:submit>
  +        <xf:submit class="button" continuation="forward" id="next">
  +          <xf:label>Next</xf:label>
  +          <xf:hint>Go to next page</xf:hint>
  +        </xf:submit>
  +      </xf:form>
  +      <xf:output class="info" form="form-feedback" id="show_count" ref="count">
  +        <xf:label>Visits Count</xf:label>
  +      </xf:output>
  +    </section>
  +  </body>
   </document>
  
  
  
  1.2       +22 -22    cocoon-2.1/src/blocks/jxforms/samples/wizard/end.xml
  
  Index: end.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/jxforms/samples/wizard/end.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- end.xml	20 Jul 2003 22:53:41 -0000	1.1
  +++ end.xml	1 Aug 2003 09:39:27 -0000	1.2
  @@ -1,30 +1,30 @@
  -<?xml version="1.0" ?>
  +<?xml version="1.0" encoding="UTF-8"?>
   <document>
  -    <br/><br/><br/>
  -    <table align="center" width="50%" cellspacing="20">
  +  <header>
  +    <title>JXForms: Calculator</title>
  +    <tab href=".." title="Back"/>
  +  </header>
  +  <body>
  +    <section>
  +      <table width="760">
           <tr>
  -            <td align="center">
  -                <h1>
  -                    Congratulations, Wizard Complete!
  -                </h1>
  -            </td>
  +          <td>
  +            <h4 class="samplesGroup"> Congratulations, Wizard Complete! </h4>
  +          </td>
           </tr>
  -
           <tr>
  -            <td align="center" class="info">
  -                <code>
  -                    Your feedback form was processed successfully.
  -                </code>
  -            </td>
  +          <td align="center">
  +            <br/> Your feedback form was processed successfully. <br/>
  +            <br/>
  +          </td>
           </tr>
  -         
           <tr>
  -            <td align="center">
  -                <h3>
  -                    <a href="../">Go to home page.</a>
  -                </h3>
  -            </td>
  +          <td align="center">
  +            <br/>
  +            <a href="../">Go to home page.</a>
  +          </td>
           </tr>
  -    </table>
  +      </table>
  +    </section>
  +  </body>
   </document>
  -
  
  
  
  1.2       +59 -64    cocoon-2.1/src/blocks/jxforms/samples/wizard/schematron.xml
  
  Index: schematron.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/jxforms/samples/wizard/schematron.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- schematron.xml	20 Jul 2003 22:53:41 -0000	1.1
  +++ schematron.xml	1 Aug 2003 09:39:27 -0000	1.2
  @@ -1,76 +1,71 @@
  -<?xml version="1.0" ?>
  +<?xml version="1.0" encoding="UTF-8"?>
   <!--
  -
   	Validating Schematron schema for the JXForms example wizard
     
     Schematron Schema language home page:
     http://www.ascc.net/xml/schematron/
  -  
  -
   -->
  -<schema ns="http://xml.apache.cocoon/jxforms"
  -	xmlns="http://www.ascc.net/xml/schematron">
  -	<title>Schema for the JXForms example</title>
  -	<phase id="userIdentity">
  -		<p>For user identity information.</p>
  -		<active pattern="user"/>
  -	</phase>
  -	<phase id="deployment">
  -		<p>For deployment info page.</p>
  -		<active pattern="dep" />
  -	</phase>
  -	<phase id="system">
  -		<p>For system info page.</p>
  -		<active pattern="sys" />
  -	</phase>
  -	<phase id="confirm">
  -		<p>For final total validation and tracking some tricky problems.</p>
  -		<active pattern="user" />
  -		<active pattern="dep" />
  -		<active pattern="sys" />
  -	</phase>
  -	<pattern name="User Info Validation Pattern" id="user">
  -		<rule context="/firstName">
  -			<assert test="string-length(.) &gt; 3">First name <anametag/> 
  -				<wrapper>should</wrapper> be at least 4 characters.</assert>
  -			<assert test="string-length(.) &lt; 20">First name should be less
  -				than 20 characters.</assert>
  -		</rule>
  -		<rule context="/lastName">
  -			<assert test="string-length(.) &gt; 3">Last name should be at least
  -				4 characters.</assert>
  -			<assert test="string-length(.) &lt; 20">Last name should be less
  -				than 20 characters.</assert>
  -		</rule>
  -		<rule context="/email">
  -			<assert test="contains( string(.),'@')">Email format is invalid.</assert>
  -		</rule>
  -		<rule context="/age">
  -			<assert test="number() &gt; 0 and number(.) &lt; 200">Age should be
  -				a reasonably big positive number.</assert>
  -		</rule>
  -	</pattern>
  -	<pattern name="Deployment Information Validation Pattern" id="dep">
  -		<rule context="/number">
  -			<assert test="number() &gt; 0">The number of deployments must be
  -				non-negative ( hopefully positive :-> ) .</assert>
  -		</rule>
  -		<rule context="/">
  -			<!-- 
  +<schema ns="http://xml.apache.cocoon/jxforms" xmlns="http://www.ascc.net/xml/schematron">
  +  <title>Schema for the JXForms example</title>
  +  <phase id="userIdentity">
  +    <p>For user identity information.</p>
  +    <active pattern="user"/>
  +  </phase>
  +  <phase id="deployment">
  +    <p>For deployment info page.</p>
  +    <active pattern="dep"/>
  +  </phase>
  +  <phase id="system">
  +    <p>For system info page.</p>
  +    <active pattern="sys"/>
  +  </phase>
  +  <phase id="confirm">
  +    <p>For final total validation and tracking some tricky problems.</p>
  +    <active pattern="user"/>
  +    <active pattern="dep"/>
  +    <active pattern="sys"/>
  +  </phase>
  +  <pattern id="user" name="User Info Validation Pattern">
  +    <rule context="/firstName">
  +      <assert test="string-length(.) &gt; 3">First name <anametag/>
  +        <wrapper>should</wrapper> be at least 4 characters.</assert>
  +      <assert test="string-length(.) &lt; 20">First name should be less than
  +        20 characters.</assert>
  +    </rule>
  +    <rule context="/lastName">
  +      <assert test="string-length(.) &gt; 3">Last name should be at least 4 characters.</assert>
  +      <assert test="string-length(.) &lt; 20">Last name should be less than
  +        20 characters.</assert>
  +    </rule>
  +    <rule context="/email">
  +      <assert test="contains( string(.),'@')">Email format is invalid.</assert>
  +    </rule>
  +    <rule context="/age">
  +      <assert test="number() &gt; 0 and number(.) &lt; 200">Age should
  +        be a reasonably big positive number.</assert>
  +    </rule>
  +  </pattern>
  +  <pattern id="dep" name="Deployment Information Validation Pattern">
  +    <rule context="/number">
  +      <assert test="number() &gt; 0">The number of deployments must be
  +        non-negative ( hopefully positive :-> ) .</assert>
  +    </rule>
  +    <rule context="/">
  +      <!-- 
           If the site is to be published, then verify the URL.
           Note: This assertion demonstrates the unique ability of 
           Schematron to test document node dependencies.
           This is not possible to do with XML Schema and Relax NG.
          -->
  -			<assert
  -				test="not(string(publish) = 'true') or (starts-with(liveUrl, 'http://') and contains( string(liveUrl),'.') ) "
  -				>The URL of the published site is invalid.</assert>
  -		</rule>
  -	</pattern>
  -	<pattern name="System Information Validation Pattern" id="sys">
  -		<rule context="/system/@ram">
  -			<assert test="number() &gt; 0">The RAM value should be a positive
  -				number, denoting the memory in MB (e.g. 128, 512, etc.).</assert>
  -		</rule>
  -	</pattern>
  +      <assert
  +        test="not(string(publish) = 'true') or (starts-with(liveUrl, 'http://') and contains( string(liveUrl),'.') ) ">The
  +        URL of the published site is invalid.</assert>
  +    </rule>
  +  </pattern>
  +  <pattern id="sys" name="System Information Validation Pattern">
  +    <rule context="/system/@ram">
  +      <assert test="number() &gt; 0">The RAM value should be a positive
  +        number, denoting the memory in MB (e.g. 128, 512, etc.).</assert>
  +    </rule>
  +  </pattern>
   </schema>
  
  
  
  1.2       +128 -120  cocoon-2.1/src/blocks/jxforms/samples/wizard/system.xml
  
  Index: system.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/jxforms/samples/wizard/system.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- system.xml	20 Jul 2003 22:53:41 -0000	1.1
  +++ system.xml	1 Aug 2003 09:39:27 -0000	1.2
  @@ -1,122 +1,130 @@
  -<?xml version="1.0"?>
  +<?xml version="1.0" encoding="UTF-8"?>
   <document xmlns:xf="http://apache.org/cocoon/jxforms/1.0">
  -  <xf:form id="form-feedback" view="system">
  -    <xf:label>System Information</xf:label>
  -    <error>
  -      <xf:violations class="error"/>
  -    </error>
  -    <xf:group ref="/system">
  -      <xf:select1 ref="os" appearance="full">
  -        <xf:label>OS</xf:label>
  -        <xf:item id="unix">
  -          <xf:label>Unix/Linux</xf:label>
  -          <xf:value>Unix</xf:value>
  -        </xf:item>
  -        <xf:item id="mac">
  -          <xf:label>Mac OS/X</xf:label>
  -          <xf:value>Mac OS/X</xf:value>
  -        </xf:item>
  -        <xf:item id="win">
  -          <xf:label>Windows 95/98/NT/2000/XP</xf:label>
  -          <xf:value>Windows</xf:value>
  -        </xf:item>
  -        <xf:item id="other">
  -          <xf:label>Other</xf:label>
  -          <xf:value>Other</xf:value>
  -        </xf:item>
  -      </xf:select1>
  -      <xf:select1 ref="processor">
  -        <xf:label>Processor</xf:label>
  -        <xf:item>
  -          <xf:label>AMD/Athlon</xf:label>
  -          <xf:value>Athlon</xf:value>
  -        </xf:item>
  -        <xf:item>
  -          <xf:label>AMD/Duron</xf:label>
  -          <xf:value>Duron</xf:value>
  -        </xf:item>
  -        <xf:item>
  -          <xf:label>Pentium Celeron</xf:label>
  -          <xf:value>Celeron</xf:value>
  -        </xf:item>
  -        <xf:item>
  -          <xf:label>Pentium III</xf:label>
  -          <xf:value>p3</xf:value>
  -        </xf:item>
  -        <xf:item>
  -          <xf:label>Pentium IV</xf:label>
  -          <xf:value>p4</xf:value>
  -        </xf:item>
  -        <xf:item>
  -          <xf:label>Other</xf:label>
  -          <xf:value>other</xf:value>
  -        </xf:item>
  -      </xf:select1>
  -      <xf:input ref="@ram">
  -        <xf:label>RAM</xf:label>
  -        <xf:violations class="error"/>
  -      </xf:input>
  -      <xf:select1 ref="servletEngine">
  -        <xf:label>Servlet Engine</xf:label>
  -        <xf:item>
  -          <xf:label>Tomcat</xf:label>
  -          <xf:value>Tomcat</xf:value>
  -        </xf:item>
  -        <xf:item>
  -          <xf:label>Jetty</xf:label>
  -          <xf:value>Jetty</xf:value>
  -        </xf:item>
  -        <xf:item>
  -          <xf:label>Resin</xf:label>
  -          <xf:value>Resin</xf:value>
  -        </xf:item>
  -        <xf:item>
  -          <xf:label>Weblogic</xf:label>
  -          <xf:value>weblogic</xf:value>
  -        </xf:item>
  -        <xf:item>
  -          <xf:label>WebSphere</xf:label>
  -          <xf:value>WebSphere</xf:value>
  -        </xf:item>
  -        <xf:item>
  -          <xf:label>Other</xf:label>
  -          <xf:value>other</xf:value>
  -        </xf:item>
  -      </xf:select1>
  -      <xf:select1 ref="javaVersion">
  -        <xf:label>Java Version</xf:label>
  -        <xf:item>
  -          <xf:label>1.1</xf:label>
  -          <xf:value>1.1</xf:value>
  -        </xf:item>
  -        <xf:item>
  -          <xf:label>1.2</xf:label>
  -          <xf:value>1.2</xf:value>
  -        </xf:item>
  -        <xf:item>
  -          <xf:label>1.3</xf:label>
  -          <xf:value>1.3</xf:value>
  -        </xf:item>
  -        <xf:item>
  -          <xf:label>1.4</xf:label>
  -          <xf:value>1.4</xf:value>
  -        </xf:item>
  -        <xf:item>
  -          <xf:label>Other</xf:label>
  -          <xf:value>Other</xf:value>
  -        </xf:item>
  -      </xf:select1>
  -    </xf:group>
  -    <xf:submit id="prev" continuation="back" class="button">
  -      <xf:label>Prev</xf:label>
  -      <xf:hint>Go to previous page</xf:hint>
  -    </xf:submit>
  -    <xf:submit id="next" continuation="forward" class="button">
  -      <xf:label>Next</xf:label>
  -      <xf:hint>Go to next page</xf:hint>
  -    </xf:submit>
  -  </xf:form>
  -  <xf:output ref="count" id="show_count" form="form-feedback" class="info">
  -    <xf:label>Visits Count</xf:label>
  -  </xf:output>
  +  <header>
  +    <title>JXForms: Calculator</title>
  +    <tab href=".." title="Back"/>
  +  </header>
  +  <body>
  +    <section>
  +      <xf:form id="form-feedback" view="system">
  +        <xf:label>System Information</xf:label>
  +        <error>
  +          <xf:violations class="error"/>
  +        </error>
  +        <xf:group ref="/system">
  +          <xf:select1 appearance="full" ref="os">
  +            <xf:label>OS</xf:label>
  +            <xf:item id="unix">
  +              <xf:label>Unix/Linux</xf:label>
  +              <xf:value>Unix</xf:value>
  +            </xf:item>
  +            <xf:item id="mac">
  +              <xf:label>Mac OS/X</xf:label>
  +              <xf:value>Mac OS/X</xf:value>
  +            </xf:item>
  +            <xf:item id="win">
  +              <xf:label>Windows 95/98/NT/2000/XP</xf:label>
  +              <xf:value>Windows</xf:value>
  +            </xf:item>
  +            <xf:item id="other">
  +              <xf:label>Other</xf:label>
  +              <xf:value>Other</xf:value>
  +            </xf:item>
  +          </xf:select1>
  +          <xf:select1 ref="processor">
  +            <xf:label>Processor</xf:label>
  +            <xf:item>
  +              <xf:label>AMD/Athlon</xf:label>
  +              <xf:value>Athlon</xf:value>
  +            </xf:item>
  +            <xf:item>
  +              <xf:label>AMD/Duron</xf:label>
  +              <xf:value>Duron</xf:value>
  +            </xf:item>
  +            <xf:item>
  +              <xf:label>Pentium Celeron</xf:label>
  +              <xf:value>Celeron</xf:value>
  +            </xf:item>
  +            <xf:item>
  +              <xf:label>Pentium III</xf:label>
  +              <xf:value>p3</xf:value>
  +            </xf:item>
  +            <xf:item>
  +              <xf:label>Pentium IV</xf:label>
  +              <xf:value>p4</xf:value>
  +            </xf:item>
  +            <xf:item>
  +              <xf:label>Other</xf:label>
  +              <xf:value>other</xf:value>
  +            </xf:item>
  +          </xf:select1>
  +          <xf:input ref="@ram">
  +            <xf:label>RAM</xf:label>
  +            <xf:violations class="error"/>
  +          </xf:input>
  +          <xf:select1 ref="servletEngine">
  +            <xf:label>Servlet Engine</xf:label>
  +            <xf:item>
  +              <xf:label>Tomcat</xf:label>
  +              <xf:value>Tomcat</xf:value>
  +            </xf:item>
  +            <xf:item>
  +              <xf:label>Jetty</xf:label>
  +              <xf:value>Jetty</xf:value>
  +            </xf:item>
  +            <xf:item>
  +              <xf:label>Resin</xf:label>
  +              <xf:value>Resin</xf:value>
  +            </xf:item>
  +            <xf:item>
  +              <xf:label>Weblogic</xf:label>
  +              <xf:value>weblogic</xf:value>
  +            </xf:item>
  +            <xf:item>
  +              <xf:label>WebSphere</xf:label>
  +              <xf:value>WebSphere</xf:value>
  +            </xf:item>
  +            <xf:item>
  +              <xf:label>Other</xf:label>
  +              <xf:value>other</xf:value>
  +            </xf:item>
  +          </xf:select1>
  +          <xf:select1 ref="javaVersion">
  +            <xf:label>Java Version</xf:label>
  +            <xf:item>
  +              <xf:label>1.1</xf:label>
  +              <xf:value>1.1</xf:value>
  +            </xf:item>
  +            <xf:item>
  +              <xf:label>1.2</xf:label>
  +              <xf:value>1.2</xf:value>
  +            </xf:item>
  +            <xf:item>
  +              <xf:label>1.3</xf:label>
  +              <xf:value>1.3</xf:value>
  +            </xf:item>
  +            <xf:item>
  +              <xf:label>1.4</xf:label>
  +              <xf:value>1.4</xf:value>
  +            </xf:item>
  +            <xf:item>
  +              <xf:label>Other</xf:label>
  +              <xf:value>Other</xf:value>
  +            </xf:item>
  +          </xf:select1>
  +        </xf:group>
  +        <xf:submit class="button" continuation="back" id="prev">
  +          <xf:label>Prev</xf:label>
  +          <xf:hint>Go to previous page</xf:hint>
  +        </xf:submit>
  +        <xf:submit class="button" continuation="forward" id="next">
  +          <xf:label>Next</xf:label>
  +          <xf:hint>Go to next page</xf:hint>
  +        </xf:submit>
  +      </xf:form>
  +      <xf:output class="info" form="form-feedback" id="show_count" ref="count">
  +        <xf:label>Visits Count</xf:label>
  +      </xf:output>
  +    </section>
  +  </body>
   </document>
  
  
  
  1.2       +93 -86    cocoon-2.1/src/blocks/jxforms/samples/wizard/userIdentity.xml
  
  Index: userIdentity.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/jxforms/samples/wizard/userIdentity.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- userIdentity.xml	20 Jul 2003 22:53:41 -0000	1.1
  +++ userIdentity.xml	1 Aug 2003 09:39:27 -0000	1.2
  @@ -1,88 +1,95 @@
  -<?xml version="1.0"?>
  -
  +<?xml version="1.0" encoding="UTF-8"?>
   <document xmlns:xf="http://apache.org/cocoon/jxforms/1.0">
  -  <xf:form id="form-feedback" view="userIdentity">
  -    <xf:label>Personal Information</xf:label>
  -    <error>
  -      <xf:violations class="error"/>
  -    </error>
  -    <xf:input ref="/firstName">
  -      <xf:label>First Name</xf:label>
  -      <xf:violations class="error"/>
  -    </xf:input>
  -    <xf:input ref="/lastName">
  -      <xf:label>Last Name</xf:label>
  -      <xf:violations class="error"/>
  -    </xf:input>
  -    <xf:input ref="/email">
  -      <xf:label>Email</xf:label>
  -      <xf:help>Please check this carefully</xf:help>
  -      <xf:violations class="error"/>
  -    </xf:input>
  -    <xf:input ref="/age">
  -      <xf:label>Age</xf:label>
  -      <xf:violations class="error"/>
  -    </xf:input>
  -    <xf:select ref="/role" appearance="compact">
  -      <xf:label>Professional roles</xf:label>
  -      <xf:help>Select one or more</xf:help>
  -      <xf:item>
  -        <xf:label>Geek</xf:label>
  -        <xf:value>Geek</xf:value>
  -      </xf:item>
  -      <xf:item>
  -        <xf:label>Hacker</xf:label>
  -        <xf:value>Hacker</xf:value>
  -      </xf:item>
  -      <xf:item>
  -        <xf:label>Student</xf:label>
  -        <xf:value>Student</xf:value>
  -      </xf:item>
  -      <xf:item>
  -        <xf:label>University Professor</xf:label>
  -        <xf:value>University Professor</xf:value>
  -      </xf:item>
  -      <xf:item>
  -        <xf:label>Software Developer</xf:label>
  -        <xf:value>Developer</xf:value>
  -      </xf:item>
  -      <xf:item>
  -        <xf:label>Technical Leader</xf:label>
  -        <xf:value>Tech Lead</xf:value>
  -      </xf:item>
  -      <xf:item>
  -        <xf:label>Development Manager</xf:label>
  -        <xf:value>Development Manager</xf:value>
  -      </xf:item>
  -      <xf:item>
  -        <xf:label>Executive</xf:label>
  -        <xf:value>Executive</xf:value>
  -      </xf:item>
  -      <xf:item>
  -        <xf:label>Heir of the Apache tribe</xf:label>
  -        <xf:value>Heir of the Apache tribe</xf:value>
  -      </xf:item>
  -    </xf:select>
  -    <xf:select ref="/hobby" appearance="full">
  -      <xf:label>Hobbies</xf:label>
  -      <xf:itemset nodeset="allHobbies">
  -        <xf:label ref="value"/>
  -        <xf:value ref="key"/>
  -      </xf:itemset>
  -    </xf:select>
  -    <xf:textarea ref="notes" style="width:8cm; height:3cm">
  -      <xf:label>Additional Notes</xf:label>
  -    </xf:textarea>
  -    <!-- hidden model attribute -->
  -    <xf:hidden ref="hidden">
  -      <xf:value>true</xf:value>
  -    </xf:hidden>
  -    <xf:submit id="next" phase="userIdentity" continuation="forward" class="button">
  -      <xf:label>Next</xf:label>
  -      <xf:hint>Go to next page</xf:hint>    
  -    </xf:submit>
  -  </xf:form>
  -  <xf:output ref="count" id="show_count" form="form-feedback" class="info">
  -    <xf:label>Visits Count</xf:label>
  -  </xf:output>
  +  <header>
  +    <title>JXForms: Calculator</title>
  +    <tab href=".." title="Back"/>
  +  </header>
  +  <body>
  +    <section>
  +      <xf:form id="form-feedback" view="userIdentity">
  +        <xf:label>Personal Information</xf:label>
  +        <error>
  +          <xf:violations class="error"/>
  +        </error>
  +        <xf:input ref="/firstName">
  +          <xf:label>First Name</xf:label>
  +          <xf:violations class="error"/>
  +        </xf:input>
  +        <xf:input ref="/lastName">
  +          <xf:label>Last Name</xf:label>
  +          <xf:violations class="error"/>
  +        </xf:input>
  +        <xf:input ref="/email">
  +          <xf:label>Email</xf:label>
  +          <xf:help>Please check this carefully</xf:help>
  +          <xf:violations class="error"/>
  +        </xf:input>
  +        <xf:input ref="/age">
  +          <xf:label>Age</xf:label>
  +          <xf:violations class="error"/>
  +        </xf:input>
  +        <xf:select appearance="compact" ref="/role">
  +          <xf:label>Professional roles</xf:label>
  +          <xf:help>Select one or more</xf:help>
  +          <xf:item>
  +            <xf:label>Geek</xf:label>
  +            <xf:value>Geek</xf:value>
  +          </xf:item>
  +          <xf:item>
  +            <xf:label>Hacker</xf:label>
  +            <xf:value>Hacker</xf:value>
  +          </xf:item>
  +          <xf:item>
  +            <xf:label>Student</xf:label>
  +            <xf:value>Student</xf:value>
  +          </xf:item>
  +          <xf:item>
  +            <xf:label>University Professor</xf:label>
  +            <xf:value>University Professor</xf:value>
  +          </xf:item>
  +          <xf:item>
  +            <xf:label>Software Developer</xf:label>
  +            <xf:value>Developer</xf:value>
  +          </xf:item>
  +          <xf:item>
  +            <xf:label>Technical Leader</xf:label>
  +            <xf:value>Tech Lead</xf:value>
  +          </xf:item>
  +          <xf:item>
  +            <xf:label>Development Manager</xf:label>
  +            <xf:value>Development Manager</xf:value>
  +          </xf:item>
  +          <xf:item>
  +            <xf:label>Executive</xf:label>
  +            <xf:value>Executive</xf:value>
  +          </xf:item>
  +          <xf:item>
  +            <xf:label>Heir of the Apache tribe</xf:label>
  +            <xf:value>Heir of the Apache tribe</xf:value>
  +          </xf:item>
  +        </xf:select>
  +        <xf:select appearance="full" ref="/hobby">
  +          <xf:label>Hobbies</xf:label>
  +          <xf:itemset nodeset="allHobbies">
  +            <xf:label ref="value"/>
  +            <xf:value ref="key"/>
  +          </xf:itemset>
  +        </xf:select>
  +        <xf:textarea ref="notes" style="width:8cm; height:3cm">
  +          <xf:label>Additional Notes</xf:label>
  +        </xf:textarea>
  +        <!-- hidden model attribute -->
  +        <xf:hidden ref="hidden">
  +          <xf:value>true</xf:value>
  +        </xf:hidden>
  +        <xf:submit class="button" continuation="forward" id="next" phase="userIdentity">
  +          <xf:label>Next</xf:label>
  +          <xf:hint>Go to next page</xf:hint>
  +        </xf:submit>
  +      </xf:form>
  +      <xf:output class="info" form="form-feedback" id="show_count" ref="count">
  +        <xf:label>Visits Count</xf:label>
  +      </xf:output>
  +    </section>
  +  </body>
   </document>