You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by gi...@locus.apache.org on 2000/09/08 17:42:31 UTC
cvs commit: xml-cocoon/webapp/resources/styles slides-apachecon.css
giacomo 00/09/08 08:42:29
Modified: webapp/docs/samples Tag: xml-cocoon2 opac.svg
webapp/docs/samples/slides Tag: xml-cocoon2 clean-page.xml
database-page.xml ldap.xml lib-page.xml page.xml
slides.xml
webapp/resources/styles Tag: xml-cocoon2
slides-apachecon.css
Log:
fixed a CR/LF problem
Revision Changes Path
No revision
No revision
1.1.2.2 +17 -17 xml-cocoon/webapp/docs/samples/Attic/opac.svg
Index: opac.svg
===================================================================
RCS file: /home/cvs/xml-cocoon/webapp/docs/samples/Attic/opac.svg,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -r1.1.2.1 -r1.1.2.2
--- opac.svg 2000/08/29 20:11:22 1.1.2.1
+++ opac.svg 2000/09/08 15:42:03 1.1.2.2
@@ -1,17 +1,17 @@
-<?xml version="1.0" standalone="yes"?>
-
-<svg width="300px" height="300px">
- <g style="fill:#444">
- <path d="M0,0v250h300v-250z"/>
- </g>
- <g style="stroke:#000; stroke-width:2; fill:#f00; fill-opacity:0.5">
- <circle cx="100" cy="100" r="80"/>
- </g>
- <g style="stroke:#000; stroke-width:2; fill:#00f; fill-opacity:0.5">
- <circle cx="200" cy="100" r="80"/>
- </g>
- <g style="stroke:#000; stroke-width:2; fill:#0f0; fill-opacity:0.5">
- <circle cx="150" cy="150" r="80"/>
- </g>
-</svg>
-
+<?xml version="1.0" standalone="yes"?>
+
+<svg width="300px" height="300px">
+ <g style="fill:#444">
+ <path d="M0,0v250h300v-250z"/>
+ </g>
+ <g style="stroke:#000; stroke-width:2; fill:#f00; fill-opacity:0.5">
+ <circle cx="100" cy="100" r="80"/>
+ </g>
+ <g style="stroke:#000; stroke-width:2; fill:#00f; fill-opacity:0.5">
+ <circle cx="200" cy="100" r="80"/>
+ </g>
+ <g style="stroke:#000; stroke-width:2; fill:#0f0; fill-opacity:0.5">
+ <circle cx="150" cy="150" r="80"/>
+ </g>
+</svg>
+
No revision
No revision
1.1.2.2 +67 -67 xml-cocoon/webapp/docs/samples/slides/Attic/clean-page.xml
Index: clean-page.xml
===================================================================
RCS file: /home/cvs/xml-cocoon/webapp/docs/samples/slides/Attic/clean-page.xml,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -r1.1.2.1 -r1.1.2.2
--- clean-page.xml 2000/09/07 22:51:20 1.1.2.1
+++ clean-page.xml 2000/09/08 15:42:08 1.1.2.2
@@ -1,68 +1,68 @@
-<?xml version="1.0"?>
-
-<!-- Author: Stefano Mazzocchi "stefano@apache.org" -->
-<!-- Version: $Id: clean-page.xml,v 1.1.2.1 2000/09/07 22:51:20 giacomo Exp $ -->
-
-<?cocoon-process type="xslt"?>
-<?xml-stylesheet href="page-xsp.xsl" type="text/xsl"?>
-
-<page>
- <title>First XSP Page</title>
- <author>
- <name>Stefano Mazzocchi</name>
- <address>stefano@apache.org</address>
- </author>
-
- <p>Hi, I'm your first XSP page ever.</p>
-
- <p>I've been requested <count/> times.</p>
-
- <p>The content you are seeing in this page is provided to you
- by an XML content producer that was compiled into Java bytecode
- and executed at request time. This allows greater flexibility and
- ease of use for page programmers without any performance degradation
- since all XML parsing and such is precompiled and it's avoided at
- request time.</p>
-
- <p>Let's show some useful information with expression evaluation...</p>
-
- <request-data>
- <string name="Request method" method="Method"/>
- <string name="Request URI" method="RequestURI"/>
- <string name="Request protocol" method="Protocol"/>
- <string name="Servlet path" method="ServletPath"/>
- <string name="Path info" method="PathInfo"/>
- <string name="Path translated" method="PathTranslated"/>
- <string name="Query string" method="QueryString"/>
- <int name="Content length" method="ContentLength"/>
- <string name="Content type" method="ContentType"/>
- <string name="Server name" method="ServerName"/>
- <int name="Server port" method="ServerPort"/>
- <string name="Remote user" method="RemoteUser"/>
- <string name="Remote address" method="RemoteAddr"/>
- <string name="Remote host" method="RemoteHost"/>
- <string name="Authorization scheme" method="AuthType"/>
- </request-data>
-
- <p>Ok. Now that you know how logic can be transformed into content, let's
- add some juice and mix logic with content generation
- in a way that allows you to forget about what method is used to generate and
- handle the content as XML and concentrate on having your work done.
- Note, how XSP don't allow you to explicitly write something on the response
- from the logic realm: this is one of the major
- differences between XSP and other server pages technologies and allows
- further processing of the produced content, as required, for example, by
- XSL-transformations.</p>
-
- <request-headers/>
-
- <servlet-parameters/>
-
- <p>All right, the first XSP page is over, but you can see the
- dynamically syntax highlighted
- <link href="view-source.xml?filename=clean-page.xml">source of this page</link>
- and its <link href="view-source.xml?filename=page-xsp.xsl">logicsheet</link>
- provided to you by another XSP page.</p>
-
- <p>Enjoy XSP!</p>
+<?xml version="1.0"?>
+
+<!-- Author: Stefano Mazzocchi "stefano@apache.org" -->
+<!-- Version: $Id: clean-page.xml,v 1.1.2.2 2000/09/08 15:42:08 giacomo Exp $ -->
+
+<?cocoon-process type="xslt"?>
+<?xml-stylesheet href="page-xsp.xsl" type="text/xsl"?>
+
+<page>
+ <title>First XSP Page</title>
+ <author>
+ <name>Stefano Mazzocchi</name>
+ <address>stefano@apache.org</address>
+ </author>
+
+ <p>Hi, I'm your first XSP page ever.</p>
+
+ <p>I've been requested <count/> times.</p>
+
+ <p>The content you are seeing in this page is provided to you
+ by an XML content producer that was compiled into Java bytecode
+ and executed at request time. This allows greater flexibility and
+ ease of use for page programmers without any performance degradation
+ since all XML parsing and such is precompiled and it's avoided at
+ request time.</p>
+
+ <p>Let's show some useful information with expression evaluation...</p>
+
+ <request-data>
+ <string name="Request method" method="Method"/>
+ <string name="Request URI" method="RequestURI"/>
+ <string name="Request protocol" method="Protocol"/>
+ <string name="Servlet path" method="ServletPath"/>
+ <string name="Path info" method="PathInfo"/>
+ <string name="Path translated" method="PathTranslated"/>
+ <string name="Query string" method="QueryString"/>
+ <int name="Content length" method="ContentLength"/>
+ <string name="Content type" method="ContentType"/>
+ <string name="Server name" method="ServerName"/>
+ <int name="Server port" method="ServerPort"/>
+ <string name="Remote user" method="RemoteUser"/>
+ <string name="Remote address" method="RemoteAddr"/>
+ <string name="Remote host" method="RemoteHost"/>
+ <string name="Authorization scheme" method="AuthType"/>
+ </request-data>
+
+ <p>Ok. Now that you know how logic can be transformed into content, let's
+ add some juice and mix logic with content generation
+ in a way that allows you to forget about what method is used to generate and
+ handle the content as XML and concentrate on having your work done.
+ Note, how XSP don't allow you to explicitly write something on the response
+ from the logic realm: this is one of the major
+ differences between XSP and other server pages technologies and allows
+ further processing of the produced content, as required, for example, by
+ XSL-transformations.</p>
+
+ <request-headers/>
+
+ <servlet-parameters/>
+
+ <p>All right, the first XSP page is over, but you can see the
+ dynamically syntax highlighted
+ <link href="view-source.xml?filename=clean-page.xml">source of this page</link>
+ and its <link href="view-source.xml?filename=page-xsp.xsl">logicsheet</link>
+ provided to you by another XSP page.</p>
+
+ <p>Enjoy XSP!</p>
</page>
1.1.2.2 +20 -20 xml-cocoon/webapp/docs/samples/slides/Attic/database-page.xml
Index: database-page.xml
===================================================================
RCS file: /home/cvs/xml-cocoon/webapp/docs/samples/slides/Attic/database-page.xml,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -r1.1.2.1 -r1.1.2.2
--- database-page.xml 2000/09/07 22:51:20 1.1.2.1
+++ database-page.xml 2000/09/08 15:42:09 1.1.2.2
@@ -1,20 +1,20 @@
-<?xml version="1.0"?>
-
-<?cocoon-process type="sql"?>
-
-<page>
-
- <connectiondefs>
- <connection name="foo_connection">
- <driver>org.gjt.mm.mysql.Driver</driver>
- <dburl>jdbc:mysql://localhost/test</dburl>
- <!--<username>foo_user</username>
- <password>foo_password</password>-->
- </connection>
- </connectiondefs>
-
- <query connection="foo_connection">
- select * from foo_table
- </query>
-
-</page>
+<?xml version="1.0"?>
+
+<?cocoon-process type="sql"?>
+
+<page>
+
+ <connectiondefs>
+ <connection name="foo_connection">
+ <driver>org.gjt.mm.mysql.Driver</driver>
+ <dburl>jdbc:mysql://localhost/test</dburl>
+ <!--<username>foo_user</username>
+ <password>foo_password</password>-->
+ </connection>
+ </connectiondefs>
+
+ <query connection="foo_connection">
+ select * from foo_table
+ </query>
+
+</page>
1.1.2.2 +21 -21 xml-cocoon/webapp/docs/samples/slides/Attic/ldap.xml
Index: ldap.xml
===================================================================
RCS file: /home/cvs/xml-cocoon/webapp/docs/samples/slides/Attic/ldap.xml,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -r1.1.2.1 -r1.1.2.2
--- ldap.xml 2000/09/07 22:51:21 1.1.2.1
+++ ldap.xml 2000/09/08 15:42:12 1.1.2.2
@@ -1,21 +1,21 @@
-<?xml version="1.0"?>
-
-<?xml-stylesheet href="ldap1.xsl" type="text/xsl"?>
-
-<?cocoon-process type="ldap"?>
-<?cocoon-process type="xslt"?>
-
-<page>
-
- <ldap-defs>
- <ldap-server name="searchlight">
- <initializer>com.sun.jndi.ldap.LdapCtxFactory</initializer>
- <ldap-serverurl>ldap://ldap.weber.edu</ldap-serverurl>
- </ldap-server>
- </ldap-defs>
-
- <ldap-query server="searchlight" ldap-searchbase="">
- sn=*Green*
- </ldap-query>
-
-</page>
+<?xml version="1.0"?>
+
+<?xml-stylesheet href="ldap1.xsl" type="text/xsl"?>
+
+<?cocoon-process type="ldap"?>
+<?cocoon-process type="xslt"?>
+
+<page>
+
+ <ldap-defs>
+ <ldap-server name="searchlight">
+ <initializer>com.sun.jndi.ldap.LdapCtxFactory</initializer>
+ <ldap-serverurl>ldap://ldap.weber.edu</ldap-serverurl>
+ </ldap-server>
+ </ldap-defs>
+
+ <ldap-query server="searchlight" ldap-searchbase="">
+ sn=*Green*
+ </ldap-query>
+
+</page>
1.1.2.2 +76 -76 xml-cocoon/webapp/docs/samples/slides/Attic/lib-page.xml
Index: lib-page.xml
===================================================================
RCS file: /home/cvs/xml-cocoon/webapp/docs/samples/slides/Attic/lib-page.xml,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -r1.1.2.1 -r1.1.2.2
--- lib-page.xml 2000/09/07 22:51:21 1.1.2.1
+++ lib-page.xml 2000/09/08 15:42:13 1.1.2.2
@@ -1,77 +1,77 @@
-<?xml version="1.0"?>
-
-<!-- Author: Stefano Mazzocchi "stefano@apache.org" -->
-<!-- Version: $Id: lib-page.xml,v 1.1.2.1 2000/09/07 22:51:21 giacomo Exp $ -->
-
-<?cocoon-process type="xsp"?>
-
-<?cocoon-process type="xslt"?>
-<?xml-stylesheet href="page-html.xsl" type="text/xsl"?>
-
-<xsp:page
- language="java"
- xmlns:xsp="http://www.apache.org/1999/XSP/Core"
- xmlns:request="http://www.apache.org/1999/XSP/Request"
- xmlns:util="http://www.apache.org/1999/XSP/Util"
->
-
-<page>
- <title>First XSP Page</title>
- <author>
- <name>Stefano Mazzocchi</name>
- <address>stefano@apache.org</address>
- </author>
-
- <p>Hi, I'm your first XSP page ever.</p>
-
- <p>I've been requested <util:counter/> times.</p>
-
- <p>The content you are seeing in this page is provided to you
- by an XML content producer that was compiled into Java bytecode
- and executed at request time. This allows greater flexibility and
- ease of use for page programmers without any performance degradation
- since all XML parsing and such is precompiled and it's avoided at
- request time.</p>
-
- <p>Let's show some useful information with expression evaluation...</p>
-
- <list title="Request Data">
- <element name="Request method"><request:get-method/></element>
- <element name="Request URI"><request:get-request-uri/></element>
- <element name="Request protocol"><request:get-protocol/></element>
- <element name="Servlet path"><request:get-servlet-path/></element>
- <element name="Path info"><request:get-path-info/></element>
- <element name="Path translated"><request:get-path-translated/></element>
- <element name="Query string"><request:get-query-string/></element>
- <element name="Content length"><request:get-content-length/></element>
- <element name="Content type"><request:get-content-type/></element>
- <element name="Server name"><request:get-server-name/></element>
- <element name="Server port"><request:get-server-port/></element>
- <element name="Remote user"><request:get-remote-user/></element>
- <element name="Remote address"><request:get-remote-addr/></element>
- <element name="Remote host"><request:get-remote-host/></element>
- <element name="Authorization scheme"><request:get-auth-type/></element>
- </list>
-
- <p>Ok. Now that you know how logic can be transformed into content, let's
- add some juice and mix logic with content generation
- in a way that allows you to forget about what method is used to generate and
- handle the content as XML and concentrate on having your work done.
- Note, how XSP don't allow you to explicitly write something on the response
- from the logic realm: this is one of the major
- differences between XSP and other server pages technologies and allows
- further processing of the produced content, as required, for example, by
- XSL-transformations.</p>
-
- <!-- FIXME (SM): here should go some taglib to emulate the other two
- examples, but we don't have yet a good way to iterate over items
- and so on without using logic directly... more feedback is needed on
- the taglib issue. -->
-
- <p>All right, the first XSP page is over, but you can see the dynamically syntax highlighted
- <link href="view-source.xml?filename=lib-page.xml">source of this page</link>,
- all provided to you by another XSP page.</p>
-
- <p>Enjoy XSP!</p>
-</page>
+<?xml version="1.0"?>
+
+<!-- Author: Stefano Mazzocchi "stefano@apache.org" -->
+<!-- Version: $Id: lib-page.xml,v 1.1.2.2 2000/09/08 15:42:13 giacomo Exp $ -->
+
+<?cocoon-process type="xsp"?>
+
+<?cocoon-process type="xslt"?>
+<?xml-stylesheet href="page-html.xsl" type="text/xsl"?>
+
+<xsp:page
+ language="java"
+ xmlns:xsp="http://www.apache.org/1999/XSP/Core"
+ xmlns:request="http://www.apache.org/1999/XSP/Request"
+ xmlns:util="http://www.apache.org/1999/XSP/Util"
+>
+
+<page>
+ <title>First XSP Page</title>
+ <author>
+ <name>Stefano Mazzocchi</name>
+ <address>stefano@apache.org</address>
+ </author>
+
+ <p>Hi, I'm your first XSP page ever.</p>
+
+ <p>I've been requested <util:counter/> times.</p>
+
+ <p>The content you are seeing in this page is provided to you
+ by an XML content producer that was compiled into Java bytecode
+ and executed at request time. This allows greater flexibility and
+ ease of use for page programmers without any performance degradation
+ since all XML parsing and such is precompiled and it's avoided at
+ request time.</p>
+
+ <p>Let's show some useful information with expression evaluation...</p>
+
+ <list title="Request Data">
+ <element name="Request method"><request:get-method/></element>
+ <element name="Request URI"><request:get-request-uri/></element>
+ <element name="Request protocol"><request:get-protocol/></element>
+ <element name="Servlet path"><request:get-servlet-path/></element>
+ <element name="Path info"><request:get-path-info/></element>
+ <element name="Path translated"><request:get-path-translated/></element>
+ <element name="Query string"><request:get-query-string/></element>
+ <element name="Content length"><request:get-content-length/></element>
+ <element name="Content type"><request:get-content-type/></element>
+ <element name="Server name"><request:get-server-name/></element>
+ <element name="Server port"><request:get-server-port/></element>
+ <element name="Remote user"><request:get-remote-user/></element>
+ <element name="Remote address"><request:get-remote-addr/></element>
+ <element name="Remote host"><request:get-remote-host/></element>
+ <element name="Authorization scheme"><request:get-auth-type/></element>
+ </list>
+
+ <p>Ok. Now that you know how logic can be transformed into content, let's
+ add some juice and mix logic with content generation
+ in a way that allows you to forget about what method is used to generate and
+ handle the content as XML and concentrate on having your work done.
+ Note, how XSP don't allow you to explicitly write something on the response
+ from the logic realm: this is one of the major
+ differences between XSP and other server pages technologies and allows
+ further processing of the produced content, as required, for example, by
+ XSL-transformations.</p>
+
+ <!-- FIXME (SM): here should go some taglib to emulate the other two
+ examples, but we don't have yet a good way to iterate over items
+ and so on without using logic directly... more feedback is needed on
+ the taglib issue. -->
+
+ <p>All right, the first XSP page is over, but you can see the dynamically syntax highlighted
+ <link href="view-source.xml?filename=lib-page.xml">source of this page</link>,
+ all provided to you by another XSP page.</p>
+
+ <p>Enjoy XSP!</p>
+</page>
</xsp:page>
1.1.2.2 +131 -131 xml-cocoon/webapp/docs/samples/slides/Attic/page.xml
Index: page.xml
===================================================================
RCS file: /home/cvs/xml-cocoon/webapp/docs/samples/slides/Attic/page.xml,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -r1.1.2.1 -r1.1.2.2
--- page.xml 2000/09/07 22:51:22 1.1.2.1
+++ page.xml 2000/09/08 15:42:15 1.1.2.2
@@ -1,132 +1,132 @@
-<?xml version="1.0"?>
-
-<!-- Author: Stefano Mazzocchi "stefano@apache.org" -->
-<!-- Version: $Id: page.xml,v 1.1.2.1 2000/09/07 22:51:22 giacomo Exp $ -->
-
-<?cocoon-process type="xsp"?>
-<?cocoon-process type="xslt"?>
-<?xml-stylesheet href="page-html.xsl" type="text/xsl"?>
-
-<xsp:page
- language="java"
- xmlns:xsp="http://www.apache.org/1999/XSP/Core"
->
-
- <xsp:logic>
- static private int counter = 0;
-
- private synchronized int count() {
- return counter++;
- }
-
- private String normalize(String string) {
- if (string == null) return "";
- else return string;
- }
- </xsp:logic>
-
- <page>
- <title>First XSP Page</title>
- <author>
- <name>Stefano Mazzocchi</name>
- <address>stefano@apache.org</address>
- </author>
-
- <p>Hi, I'm your first XSP page ever.</p>
-
- <p>I've been requested <xsp:expr>count()</xsp:expr> times.</p>
-
- <p>The content you are seeing in this page is provided to you
- by an XML content producer that was compiled into Java bytecode
- and executed at request time. This allows greater flexibility and
- ease of use for page programmers without any performance degradation
- since all XML parsing and such is precompiled and it's avoided at
- request time.</p>
-
- <p>Let's show some useful information with expression evaluation...</p>
-
- <list title="Request Data">
- <element name="Request method"><xsp:expr>normalize(request.getMethod())</xsp:expr></element>
- <element name="Request URI"><xsp:expr>normalize(request.getRequestURI())</xsp:expr></element>
- <element name="Request protocol"><xsp:expr>normalize(request.getProtocol())</xsp:expr></element>
- <element name="Servlet path"><xsp:expr>normalize(request.getServletPath())</xsp:expr></element>
- <element name="Path info"><xsp:expr>normalize(request.getPathInfo())</xsp:expr></element>
- <element name="Path translated"><xsp:expr>normalize(request.getPathTranslated())</xsp:expr></element>
- <element name="Query string"><xsp:expr>normalize(request.getQueryString())</xsp:expr></element>
- <element name="Content length"><xsp:expr>request.getContentLength()</xsp:expr></element>
- <element name="Content type"><xsp:expr>normalize(request.getContentType())</xsp:expr></element>
- <element name="Server name"><xsp:expr>normalize(request.getServerName())</xsp:expr></element>
- <element name="Server port"><xsp:expr>request.getServerPort()</xsp:expr></element>
- <element name="Remote user"><xsp:expr>normalize(request.getRemoteUser())</xsp:expr></element>
- <element name="Remote address"><xsp:expr>normalize(request.getRemoteAddr())</xsp:expr></element>
- <element name="Remote host"><xsp:expr>normalize(request.getRemoteHost())</xsp:expr></element>
- <element name="Authorization scheme"><xsp:expr>normalize(request.getAuthType())</xsp:expr></element>
- </list>
-
- <p>Ok. Now that you know how logic can be transformed into content, let's
- add some juice and mix logic with content generation
- in a way that allows you to forget about what method is used to generate and
- handle the content as XML and concentrate on having your work done.
- Note, how XSP don't allow you to explicitly write something on the response
- from the logic realm: this is one of the major
- differences between XSP and other server pages technologies and allows
- further processing of the produced content, as required, for example, by
- XSL-transformations.</p>
-
- <xsp:logic><![CDATA[
- Enumeration e = request.getHeaderNames();
- if ((e != null) && (e.hasMoreElements())) { ]]>
- <p>Here are the request headers...</p>
- <list title="Request Headers">
- <xsp:logic><![CDATA[
- while (e.hasMoreElements()) {
- String k = (String) e.nextElement(); ]]>
- <element>
- <xsp:attribute name="name">
- <xsp:expr>k</xsp:expr>
- </xsp:attribute>
- <xsp:expr>request.getHeader(k)</xsp:expr>
- </element>
- }
- </xsp:logic>
- </list>
- }
- </xsp:logic>
-
- <xsp:logic><![CDATA[
- e = request.getParameterNames();
- if ((e != null) && (e.hasMoreElements())) { ]]>
- <p>and here the servlet parameters that were passed along
- with the request...</p>
-
- <list title="Servlet Parameters">
- <xsp:logic><![CDATA[
- while (e.hasMoreElements()) {
- String k = (String) e.nextElement();
- String val = request.getParameter(k);
- String vals[] = request.getParameterValues(k); ]]>
- <element>
- <xsp:attribute name="name">
- <xsp:expr>k</xsp:expr>
- </xsp:attribute>
- <xsp:logic><![CDATA[
- for(int i = 0; i < vals.length; i++) { ]]>
- <item>
- <xsp:expr>vals[i]</xsp:expr>
- </item>
- }
- </xsp:logic>
- </element>
- }
- </xsp:logic>
- </list>
- }
- </xsp:logic>
-
- <p>All right, the first XSP page is over, but you can see the
- <link href="view-source.xml?filename=page.xml">dynamically syntax highlighted</link>
- source of this page provided to you by another XSP page.</p>
-
- <p>Enjoy XSP!</p>
- </page>
+<?xml version="1.0"?>
+
+<!-- Author: Stefano Mazzocchi "stefano@apache.org" -->
+<!-- Version: $Id: page.xml,v 1.1.2.2 2000/09/08 15:42:15 giacomo Exp $ -->
+
+<?cocoon-process type="xsp"?>
+<?cocoon-process type="xslt"?>
+<?xml-stylesheet href="page-html.xsl" type="text/xsl"?>
+
+<xsp:page
+ language="java"
+ xmlns:xsp="http://www.apache.org/1999/XSP/Core"
+>
+
+ <xsp:logic>
+ static private int counter = 0;
+
+ private synchronized int count() {
+ return counter++;
+ }
+
+ private String normalize(String string) {
+ if (string == null) return "";
+ else return string;
+ }
+ </xsp:logic>
+
+ <page>
+ <title>First XSP Page</title>
+ <author>
+ <name>Stefano Mazzocchi</name>
+ <address>stefano@apache.org</address>
+ </author>
+
+ <p>Hi, I'm your first XSP page ever.</p>
+
+ <p>I've been requested <xsp:expr>count()</xsp:expr> times.</p>
+
+ <p>The content you are seeing in this page is provided to you
+ by an XML content producer that was compiled into Java bytecode
+ and executed at request time. This allows greater flexibility and
+ ease of use for page programmers without any performance degradation
+ since all XML parsing and such is precompiled and it's avoided at
+ request time.</p>
+
+ <p>Let's show some useful information with expression evaluation...</p>
+
+ <list title="Request Data">
+ <element name="Request method"><xsp:expr>normalize(request.getMethod())</xsp:expr></element>
+ <element name="Request URI"><xsp:expr>normalize(request.getRequestURI())</xsp:expr></element>
+ <element name="Request protocol"><xsp:expr>normalize(request.getProtocol())</xsp:expr></element>
+ <element name="Servlet path"><xsp:expr>normalize(request.getServletPath())</xsp:expr></element>
+ <element name="Path info"><xsp:expr>normalize(request.getPathInfo())</xsp:expr></element>
+ <element name="Path translated"><xsp:expr>normalize(request.getPathTranslated())</xsp:expr></element>
+ <element name="Query string"><xsp:expr>normalize(request.getQueryString())</xsp:expr></element>
+ <element name="Content length"><xsp:expr>request.getContentLength()</xsp:expr></element>
+ <element name="Content type"><xsp:expr>normalize(request.getContentType())</xsp:expr></element>
+ <element name="Server name"><xsp:expr>normalize(request.getServerName())</xsp:expr></element>
+ <element name="Server port"><xsp:expr>request.getServerPort()</xsp:expr></element>
+ <element name="Remote user"><xsp:expr>normalize(request.getRemoteUser())</xsp:expr></element>
+ <element name="Remote address"><xsp:expr>normalize(request.getRemoteAddr())</xsp:expr></element>
+ <element name="Remote host"><xsp:expr>normalize(request.getRemoteHost())</xsp:expr></element>
+ <element name="Authorization scheme"><xsp:expr>normalize(request.getAuthType())</xsp:expr></element>
+ </list>
+
+ <p>Ok. Now that you know how logic can be transformed into content, let's
+ add some juice and mix logic with content generation
+ in a way that allows you to forget about what method is used to generate and
+ handle the content as XML and concentrate on having your work done.
+ Note, how XSP don't allow you to explicitly write something on the response
+ from the logic realm: this is one of the major
+ differences between XSP and other server pages technologies and allows
+ further processing of the produced content, as required, for example, by
+ XSL-transformations.</p>
+
+ <xsp:logic><![CDATA[
+ Enumeration e = request.getHeaderNames();
+ if ((e != null) && (e.hasMoreElements())) { ]]>
+ <p>Here are the request headers...</p>
+ <list title="Request Headers">
+ <xsp:logic><![CDATA[
+ while (e.hasMoreElements()) {
+ String k = (String) e.nextElement(); ]]>
+ <element>
+ <xsp:attribute name="name">
+ <xsp:expr>k</xsp:expr>
+ </xsp:attribute>
+ <xsp:expr>request.getHeader(k)</xsp:expr>
+ </element>
+ }
+ </xsp:logic>
+ </list>
+ }
+ </xsp:logic>
+
+ <xsp:logic><![CDATA[
+ e = request.getParameterNames();
+ if ((e != null) && (e.hasMoreElements())) { ]]>
+ <p>and here the servlet parameters that were passed along
+ with the request...</p>
+
+ <list title="Servlet Parameters">
+ <xsp:logic><![CDATA[
+ while (e.hasMoreElements()) {
+ String k = (String) e.nextElement();
+ String val = request.getParameter(k);
+ String vals[] = request.getParameterValues(k); ]]>
+ <element>
+ <xsp:attribute name="name">
+ <xsp:expr>k</xsp:expr>
+ </xsp:attribute>
+ <xsp:logic><![CDATA[
+ for(int i = 0; i < vals.length; i++) { ]]>
+ <item>
+ <xsp:expr>vals[i]</xsp:expr>
+ </item>
+ }
+ </xsp:logic>
+ </element>
+ }
+ </xsp:logic>
+ </list>
+ }
+ </xsp:logic>
+
+ <p>All right, the first XSP page is over, but you can see the
+ <link href="view-source.xml?filename=page.xml">dynamically syntax highlighted</link>
+ source of this page provided to you by another XSP page.</p>
+
+ <p>Enjoy XSP!</p>
+ </page>
</xsp:page>
1.1.2.3 +6 -6 xml-cocoon/webapp/docs/samples/slides/Attic/slides.xml
Index: slides.xml
===================================================================
RCS file: /home/cvs/xml-cocoon/webapp/docs/samples/slides/Attic/slides.xml,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- slides.xml 2000/09/07 22:46:32 1.1.2.2
+++ slides.xml 2000/09/08 15:42:17 1.1.2.3
@@ -318,10 +318,10 @@
<slide>
<title>Possible different scenarios</title>
- <ul>
- <li><link uri="view-source?filename=../docs/samples/slides/page.xml">integrated xsp tags</link></li>
- <li><link uri="view-source?filename=../docs/samples/slides/clean-page.xml">custom tags transformed by your stylesheets</link></li>
- <li><link uri="view-source?filename=../docs/samples/slides/lib-page.xml">use of cocoon taglibs</link></li>
+ <ul>
+ <li><link uri="view-source?filename=../docs/samples/slides/page.xml">integrated xsp tags</link></li>
+ <li><link uri="view-source?filename=../docs/samples/slides/clean-page.xml">custom tags transformed by your stylesheets</link></li>
+ <li><link uri="view-source?filename=../docs/samples/slides/lib-page.xml">use of cocoon taglibs</link></li>
</ul>
</slide>
@@ -412,8 +412,8 @@
<ul>
<li>Donald Ball</li>
<li>Pierpaolo Fumagalli</li>
- <li>Stefano Mazzocchi</li>
- <li>Giacomo Pati</li>
+ <li>Stefano Mazzocchi</li>
+ <li>Giacomo Pati</li>
<li>Ricardo Rocha</li>
</ul>
</slide>
No revision
No revision
1.1.2.3 +11 -11 xml-cocoon/webapp/resources/styles/Attic/slides-apachecon.css
Index: slides-apachecon.css
===================================================================
RCS file: /home/cvs/xml-cocoon/webapp/resources/styles/Attic/slides-apachecon.css,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- slides-apachecon.css 2000/09/07 22:46:32 1.1.2.2
+++ slides-apachecon.css 2000/09/08 15:42:27 1.1.2.3
@@ -11,26 +11,26 @@
}
P {
- font-family: Helvetica;
- font-size: 16pt;
+ font-family: Helvetica;
+ font-size: 16pt;
padding: 10px 10px 10px 10px;
margin: 10px 20px 10px 20px;
}
P.quote {
- font-family: Helvetica;
- font-size: 16pt;
+ font-family: Helvetica;
+ font-size: 16pt;
font-style: italic;
}
PRE {
- font-family: Monospace;
- font-size: 14pt;
- padding: 0px 0px 0px 50px;
+ font-family: Monospace;
+ font-size: 14pt;
+ padding: 0px 0px 0px 50px;
}
H1 {
- font-family: Helvetica;
+ font-family: Helvetica;
font-size: 34pt;
line-height: 36pt;
text-align: center;
@@ -38,7 +38,7 @@
}
H3 {
- font-family: Helvetica;
+ font-family: Helvetica;
font-size: 20pt;
line-height: 24pt;
text-align: center;
@@ -47,12 +47,12 @@
}
UL {
- font-family: Helvetica;
+ font-family: Helvetica;
font-size: 20pt;
line-height: 35pt;
margin: 30px 100px 30px 50px;
}
-
+
A:link { color: #0000A0 }
A:visited { color: #A00000 }
A:active { color: #00A000 }