You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ge...@apache.org on 2002/04/26 06:47:44 UTC
cvs commit: jakarta-commons-sandbox/jexl/xdocs index.xml project.xml site.dvsl toolbox.props
geirm 02/04/25 21:47:44
Added: jexl/xdocs index.xml project.xml site.dvsl toolbox.props
Log:
docs & dvsl support
Revision Changes Path
1.1 jakarta-commons-sandbox/jexl/xdocs/index.xml
Index: index.xml
===================================================================
<?xml version="1.0"?>
<document>
<properties>
<title>Jexl</title>
<author email="geirm@apache.org">Geir Magnusson Jr.</author>
</properties>
<body>
<section name="Jexl : Java Expression Language">
<p>
Jexl is an expression language engine designed for easy embedding in
applications and frameworks. It implements an extended version of the
Expression Language of the JSTL.
</p>
<p>
The motivation was to bring some of the lessons learned by the Velocity
community about expersssion languages in templating to a wider audience.
And I just had to get Velocity-ish method access in Jelly. Just had to.
</p>
<p>
Here is an example of using Jexl :
</p>
<source>
<![CDATA[
/*
* create an expression object
*/
Expression e = ExpressionFactory.createExpression("foo.innerFoo.bar()");
/*
* create a context and add data
*/
JexlContext jc = JexlHelper.createContext();
jc.getVars().put("foo", new Foo() );
/*
* now evaluate the expression, getting the result
Object o = e.evaluate(jc);
]]>
</source>
<p>
Jexl has extended the JSTL in a few ways :
</p>
<ul>
<li>
Support for invocation of any accessible method (see example above).
</li>
<li>
Added a general size() method, which works on String, returning length,
Map, returning # of keys, and List and arrays, returning the
number of elements.
</li>
<li>
Optional syntax for the 'empty' function : empty(obj)
</li>
</ul>
</section>
<section name="Current Status">
<p>
The current status is best described as 'development, active'.
</p>
</section>
<section name="Anyone Using It Yet?">
<p>
James Strachan's
<a href="http://cvs.apache.org/viewcvs/jakarta-commons-sandbox/jelly/">
Jelly</a>, currently in commons-sandbox.
</p>
<p>
Jexl and Jelly are two components of the Jakarta Je*l* Pack
</p>
</section>
<section name="Nightly Snapshots">
<p>
Soon.
</p>
</section>
</body>
</document>
1.1 jakarta-commons-sandbox/jexl/xdocs/project.xml
Index: project.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="Commons"
href="http://jakarta.apache.org/commons/">
<title>Commons</title>
<logo href="/images/logo.jpg">Commons</logo>
<body>
<menu name="Home">
<item name="Jakarta Commons" href="/index.html" />
</menu>
<menu name="About Us">
<item name="Contributors" href="/contributors.html"/>
<item name="License" href="/license.html"/>
</menu>
<menu name="Download">
<item name="Release" href="http://jakarta.apache.org/builds/jakarta-commons/release"/>
<item name="Nightly" href="http://jakarta.apache.org/builds/jakarta-commons/nightly"/>
</menu>
<menu name="Information">
<item name="Overview" href="/index.html"/>
<item name="Components" href="/components.html"/>
<!-- Yet to come?
<item name="Guidelines" href="/guidelines.html"/>
<item name="News" href="/news.html"/>
-->
<!-- deprecated?
<item name="Commons Proper" href="/commons.html"/>
<item name="Sandbox" href="/sandbox.html"/>
-->
</menu>
<menu name="Components Repository">
<item name="BeanUtils" href="/beanutils.html"/>
<item name="Cactus" href="/cactus/index.html"/>
<item name="Collections" href="/collections.html"/>
<item name="Digester" href="/digester.html"/>
<item name="DBCP" href="http://cvs.apache.org/viewcvs/jakarta-commons/dbcp/"/>
<item name="HTTP Client" href="/httpclient"/>
<item name="JXPath" href="http://cvs.apache.org/viewcvs/jakarta-commons/jxpath/"/>
<item name="Latka" href="/latka/index.html"/>
<item name="Pool" href="http://cvs.apache.org/viewcvs/jakarta-commons/pool/"/>
<item name="Logging" href="http://cvs.apache.org/viewcvs/jakarta-commons/logging/"/>
<item name="Validator" href="http://cvs.apache.org/viewcvs/jakarta-commons/validator/"/>
</menu>
<menu name="Sandbox Components">
<item name="Betwixt" href="/betwixt.html"/>
<item name="Jelly" href="http://cvs.apache.org/viewcvs/jakarta-commons-sandbox/jelly/"/>
<item name="Jelly" href="http://cvs.apache.org/viewcvs/jakarta-commons-sandbox/jexl/"/>
<item name="JJar" href="http://cvs.apache.org/viewcvs/jakarta-commons-sandbox/jjar/"/>
<item name="Messenger" href="/messenger.html"/>
<item name="Workflow" href="http://cvs.apache.org/viewcvs/jakarta-commons-sandbox/workflow/"/>
</menu>
<menu name="Jakarta Community">
<item name="Get Involved" href="/site/getinvolved.html"/>
<item name="Mailing Lists" href="/site/mail.html"/>
<item name="CVS Repositories" href="/site/cvsindex.html"/>
</menu>
<menu name="Project Docs">
<item name="Charter" href="/charter.html"/>
<item name="Releases" href="/releases.html"/>
<item name="Versioning" href="/versioning.html"/>
</menu>
</body>
</project>
1.1 jakarta-commons-sandbox/jexl/xdocs/site.dvsl
Index: site.dvsl
===================================================================
#set( $relative-path = "." )
#set( $body-bg = '#ffffff' )
#set( $body-fg = '#000000' )
#set( $body-link = '#525D76' )
#set( $banner-bg = '#525D76')
#set( $banner-fg = '#ffffff')
#set( $sub-banner-bg = '#828DA6')
#set( $sub-banner-fg = '#ffffff')
#set( $table-th-bg = '#039acc')
#set( $table-td-bg = '#a0ddf0')
#set( $source-color = '#023264')
#set( $source-font-size = '+0')
## Double quote for convenience
#set ($qq = '"')
## Macro to output argument if test evaluates to true
#macro(ifset $test $output)
#if ( $test )$output#end
#end
#match( "document" )
#set( $project = $node.selectSingleNode("document('xdocs/project.xml')/project" ) )
<html>
<head>
<title>$project.title - $node.properties.title</title>
#foreach( $n in $node.properties.selectNodes("author") )
<meta name="author" value="$n"/>
<meta name="email" value="$n.attribute("email")" />
#end
</head>
<body bgcolor="$body-bg" text="$body-fg" link="$body-link"
alink="$body-link" vlink="$body-link">
<table border="0" width="100%" cellspacing="4">
## PAGE HEADER
<tr><td colspan="2">
## JAKARTA LOGO
<a href="http://jakarta.apache.org/">
<img src="http://jakarta.apache.org/images/jakarta-logo.gif"
align="left" alt="The Jakarta Project" border="0"/>
</a>
#if( $project.logo )
#set( $alt = $project.logo )
#set( $home = $project.attribute("href") )
#set( $src = $project.logo.attribute( "href" ) )
## PROJECT LOGO
<a href="$home">
<img src="$src" align="right" alt="$alt" border="0"/>
</a>
#end
</td></tr>
## HEADER SEPARATOR
<tr>
<td colspan="2">
<hr noshade="" size="1"/>
</td>
</tr>
<tr>
## LEFT SIDE NAVIGATION
<td width="20%" valign="top" nowrap="true">
$context.applyTemplates( $project, "body/menu" )
</td>
<!-- RIGHT SIDE MAIN BODY -->
<td width="80%" valign="top" align="left">
$context.applyTemplates("body/section")
</td>
</tr>
<!-- FOOTER SEPARATOR -->
<tr>
<td colspan="2">
<hr noshade="" size="1"/>
</td>
</tr>
<!-- PAGE FOOTER -->
<tr><td colspan="2">
<div align="center"><font color="$body-link" size="-1"><em>
Copyright © 1999-2001, Apache Software Foundation
</em></font></div>
</td></tr>
</table>
</body>
</html>
#end
#*
* Process a menu for the navigation bar
*#
#match( "menu" )
<p>
<strong>$attrib.name</strong>
</p>
<ul>
$context.applyTemplates("item")
</ul>
#end
#*
* Process a menu item for the navigation bar
*#
#match( "item" )
#if( $attrib.href.startsWith("http") )
<li><a href="$attrib.href">$attrib.name</a></li>
#else
<li><a href="${relative-path}$attrib.href">$attrib.name</a></li>
#end
#end
#*
* process a documentation section
*#
#match( "section" )
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="$banner-bg">
<font color="$banner-fg" face="arial,helvetica.sanserif">
#if ( $attrib.anchor )
#set( $anchor = $attrib.anchor )
#else
#set( $anchor = $attrib.name )
#end
<a name="$anchor">
<strong>$attrib.name</strong></a></font>
</td></tr>
<tr><td><blockquote>
$context.applyTemplates("*")
</blockquote></td></tr>
</table>
#end
#match( "subsection" )
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<!-- Subsection heading -->
<tr><td bgcolor="$sub-banner-bg">
<font color="$sub-banner-fg" face="arial,helvetica.sanserif">
#if ( $attrib.anchor )
#set( $anchor = $attrib.anchor )
#else
#set( $anchor = $attrib.name )
#end
<a name="$anchor">
<strong>$attrib.name</strong></a></font>
</td></tr>
<!-- Subsection body -->
<tr><td><blockquote>
$context.applyTemplates("*")
</blockquote></td></tr>
</table>
#end
#match( "source" )
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
<tr>
<td bgcolor="$source-color" width="1" height="1">
<img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/>
</td>
<td bgcolor="$source-color" height="1">
<img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/>
</td>
<td bgcolor="$source-color" width="1" height="1">
<img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/>
</td>
</tr>
<tr>
<td bgcolor="$source-color" width="1">
<img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/>
</td>
<td bgcolor="#ffffff" height="1">
<font size="$source-font-size"><pre>$toolbox.htmlescape.getText( $node.value() )</pre></font>
</td>
<td bgcolor="$source-color" width="1">
<img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/>
</td>
</tr>
<tr>
<td bgcolor="$source-color" width="1" height="1">
<img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/>
</td>
<td bgcolor="$source-color" height="1">
<img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/>
</td>
<td bgcolor="$source-color" width="1" height="1">
<img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/>
</td>
</tr>
</table>
</div>
#end
#match("table")
<table>
$context.applyTemplates("*")
</table>
#end
#match("tr")
<tr>
$context.applyTemplates("*")
</tr>
#end
#match( "td" )
<td bgcolor="$table-td-bg" #*
*##ifset($attrib.colspan "colspan=$qq$attrib.colspan$qq ")#*
*##ifset($attrib.rowspan "rowspan=$qq$attrib.rowspan$qq ")#*
*#valign="top" align="left">
<font color="#000000" size="-1" face="arial,helvetica,sanserif">
$node.copy( $node.children() )
</font>
</td>
#end
#match( "th" )
<td bgcolor="$table-th-bg" #*
*##ifset($attrib.colspan "colspan=$qq$attrib.colspan$qq ")#*
*##ifset($attrib.rowspan "rowspan=$qq$attrib.rowspan$qq ")#*
*#valign="top" align="left">
<font color="#000000" size="-1" face="arial,helvetica,sanserif">
$node.copy( $node.children())
</font>
</td>
#end
#match("*")
$node.copy()
#end
1.1 jakarta-commons-sandbox/jexl/xdocs/toolbox.props
Index: toolbox.props
===================================================================
toolbox.contextname = toolbox
toolbox.tool.htmlescape = org.apache.velocity.anakia.Escape
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>