| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | |
| <!-- Content Stylesheet for Site --> | |
| <!-- start the processing --> | |
| <!-- ====================================================================== --> | |
| <!-- Main Page Section --> | |
| <!-- ====================================================================== --> | |
| <html> | |
| <head> | |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> | |
| <meta name="author" value="Jon S. Stevens"> | |
| <meta name="email" value="jon@latchkey.com"> | |
| <title>Velocity - Anakia</title> | |
| </head> | |
| <body bgcolor="#ffffff" text="#000000" link="#525D76"> | |
| <table border="0" width="100%" cellspacing="0"> | |
| <!-- TOP IMAGE --> | |
| <tr> | |
| <td align="left"> | |
| <a href="http://jakarta.apache.org"><img src="http://jakarta.apache.org/images/jakarta-logo.gif" border="0"/></a> | |
| </td> | |
| <td align="right"> | |
| <a href="http://jakarta.apache.org/velocity/"><img src="./images/logo.gif" alt="Velocity" border="0"/></a> | |
| </td> | |
| </tr> | |
| </table> | |
| <table border="0" width="100%" cellspacing="4"> | |
| <tr><td colspan="2"> | |
| <hr noshade="" size="1"/> | |
| </td></tr> | |
| <tr> | |
| <!-- LEFT SIDE NAVIGATION --> | |
| <td width="20%" valign="top" nowrap="true"> | |
| <p><strong>About</strong></p> | |
| <ul> | |
| <li> <a href="./index.html">Overview</a> | |
| </li> | |
| <li> <a href="./getting-started.html">Getting Started</a> | |
| </li> | |
| <li> <a href="http://jakarta.apache.org/builds/jakarta-velocity/">Download</a> | |
| </li> | |
| <li> <a href="./install.html">Install</a> | |
| </li> | |
| <li> <a href="./design.html">Design</a> | |
| </li> | |
| <li> <a href="./contributors.html">Contributors</a> | |
| </li> | |
| <li> <a href="./changes.html">ChangeLog</a> | |
| </li> | |
| <li> <a href="./code-standards.html">Coding Standards</a> | |
| </li> | |
| <li> <a href="./license.html">License</a> | |
| </li> | |
| <li> <a href="./todo.html">TODO</a> | |
| </li> | |
| <li> <a href="http://nagoya.apache.org/bugzilla/enter_bug.cgi?product=Velocity">Report Issues</a> | |
| </li> | |
| </ul> | |
| <p><strong>Community</strong></p> | |
| <ul> | |
| <li> <a href="./powered.html">Powered By Velocity</a> | |
| </li> | |
| <li> <a href="http://jakarta.apache.org/site/getinvolved.html">Get Involved</a> | |
| </li> | |
| <li> <a href="http://jakarta.apache.org/site/mail.html">Mailing Lists</a> | |
| </li> | |
| <li> <a href="http://jakarta.apache.org/site/cvsindex.html">CVS Repositories</a> | |
| </li> | |
| </ul> | |
| <p><strong>Docs</strong></p> | |
| <ul> | |
| <li> <a href="./user-guide.html">User's Guide</a> | |
| </li> | |
| <li> <a href="./developer-guide.html">Developer's Guide</a> | |
| </li> | |
| <li> <a href="./vtl-reference-guide.html">VTL Reference Guide</a> | |
| </li> | |
| <li> <a href="./specification.html">Specification</a> | |
| </li> | |
| <li> <a href="./api/index.html">Javadoc</a> | |
| </li> | |
| </ul> | |
| <p><strong>Comparisons</strong></p> | |
| <ul> | |
| <li> <a href="./ymtd/ymtd.html">YMTD</a> | |
| </li> | |
| <li> <a href="./differences.html">VM/WM Differences</a> | |
| </li> | |
| <li> <a href="./casestudy1.html">Case Study 1</a> | |
| </li> | |
| </ul> | |
| <p><strong>Tools</strong></p> | |
| <ul> | |
| <li> <a href="./anakia.html">Anakia</a> | |
| </li> | |
| <li> <a href="./texen.html">Texen</a> | |
| </li> | |
| <li> <a href="./migration.html">Migration to Velocity</a> | |
| </li> | |
| <li> <a href="./devtools.html">Editors and IDEs</a> | |
| </li> | |
| <li> <a href="./veltag.html">IT Manager wants JSP?</a> | |
| </li> | |
| </ul> | |
| </td> | |
| <td width="80%" align="left" valign="top"> | |
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |
| <tr><td bgcolor="#525D76"> | |
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |
| <a name="What Is Anakia?"><strong>What Is Anakia?</strong></a> | |
| </font> | |
| </td></tr> | |
| <tr><td> | |
| <blockquote> | |
| <p> | |
| Essentially an XML transformation tool, Anakia uses <a href="http://www.jdom.org">JDOM</a> and <a href="http://jakarta.apache.org/velocity">Velocity</a> to transform | |
| XML documents into the format of your choice. It provides an alternative to | |
| using Ant's <style> task and | |
| <a href="http://xml.apache.org/xalan/">XSL</a> to process XML | |
| files. | |
| </p> | |
| <p> | |
| The basic model that AnakiaTask uses is pretty straightforward : | |
| <ol> | |
| <li>Parse your XML into a JDOM Document:<br /> | |
| <pre>SAXBuilder builder; | |
| Document root = null; | |
| try | |
| { | |
| builder = new SAXBuilder( | |
| "org.apache.xerces.parsers.SAXParser" ); | |
| root = builder.build( file ); | |
| } | |
| catch( Exception ) | |
| { | |
| System.out.println( ... ); | |
| }</pre></li> | |
| <li>Stuff the Document (or root Element) into the context:<br /> | |
| <pre>context.put("root", root );</pre></li> | |
| <li>Render a template using Velocity. Within the template, one | |
| can use JDOM's methods to access the data contained in the | |
| XML document.</li> | |
| </ol> | |
| </p> | |
| <p> | |
| Anakia is potentially easier to learn than XSL, but it maintains a | |
| similar level of functionality. Learning cryptic <xsl:> tags | |
| is unnecessary; you only need to know how to use the provided | |
| Context objects, JDOM, and Velocity's simple directives. Anakia | |
| seems to perform much faster than Xalan's XSL processor at creating | |
| pages. (23 pages are generated in 7-8 seconds on a PIII 500mhz | |
| running Win98 and JDK 1.3 with client Hotspot. A similar system | |
| using Ant's <style> task took 14-15 seconds -- nearly a 2x | |
| speed improvement.) | |
| </p> | |
| <p> | |
| Anakia -- intended to replace Stylebook, which was originally used | |
| to generate simple, static web sites in which all pages had the same | |
| look and feel -- is great for documentation/project web sites, such | |
| as the sites on jakarta.apache.org. As it is more targeted to a | |
| specific purpose, it does not provide some of XSL's | |
| "extra" functionality. | |
| </p> | |
| <p> | |
| The example in the jakarta-velocity/examples/anakia directory | |
| provides a good introduction to Anakia. You should find it quite | |
| simple to use. | |
| </p> | |
| <p> | |
| Anakia creates a Context, which contains a JDOM Document object of | |
| the .xml page, as well as an (optional) JDOM Document object of your | |
| project.xml page. The .vsl page is executed (using Velocity) with | |
| the Context. You can then navigate your .xml file and pull | |
| information out of it by simply executing methods on the JDOM | |
| Document object. | |
| </p> | |
| <p> | |
| Anakia is being used to create the documentation for not only this | |
| website, but also for the Jakarta Project's website as well as | |
| many of the projects that live under the Jakarta Project. This | |
| process is | |
| <a href="http://jakarta.apache.org/site/jakarta-site2.html">documented</a> | |
| on the site. You are welcome to use this for your own needs as well. | |
| </p> | |
| </blockquote> | |
| </p> | |
| </td></tr> | |
| <tr><td><br/></td></tr> | |
| </table> | |
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |
| <tr><td bgcolor="#525D76"> | |
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |
| <a name="Installation/Example"><strong>Installation/Example</strong></a> | |
| </font> | |
| </td></tr> | |
| <tr><td> | |
| <blockquote> | |
| <p> | |
| Before reviewing the jakarta-velocity/examples/anakia directory, | |
| you must <a href="install.html">build Velocity</a>. | |
| </p> | |
| <p> | |
| After building Velocity, <code>cd</code> into the | |
| jakarta-velocity/examples/anakia/build directory and run | |
| <code>./build.sh</code>. (Shell scripts will work on the Windows | |
| platform if you install <a href="http://sources.redhat.com/cygwin/">Cygwin</a>.) | |
| </p> | |
| <p> | |
| Output from the build.sh script, in this case HTML files, is placed | |
| into the jakarta-velocity/examples/anakia/docs/ directory. | |
| </p> | |
| <p> | |
| The jakarta-velocity/examples/anakia/xdocs/ directory has all of the | |
| .xml source code. The xdocs/stylesheets directory contains the .vsl | |
| file, in which most of the magic happens. Understanding <a href="user-guide.html">Velocity Template Language</a> and JDOM is | |
| necessary to understand how the .vsl file works. | |
| </p> | |
| </blockquote> | |
| </p> | |
| </td></tr> | |
| <tr><td><br/></td></tr> | |
| </table> | |
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |
| <tr><td bgcolor="#525D76"> | |
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |
| <a name="How does it work?"><strong>How does it work?</strong></a> | |
| </font> | |
| </td></tr> | |
| <tr><td> | |
| <blockquote> | |
| <p> | |
| Anakia is an Ant task that executes from an Ant build file. The | |
| build file looks something like this: | |
| </p> | |
| <div align="left"> | |
| <table cellspacing="4" cellpadding="0" border="0"> | |
| <tr> | |
| <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> | |
| <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> | |
| <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> | |
| </tr> | |
| <tr> | |
| <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> | |
| <td bgcolor="#ffffff"><pre> | |
| <project name="build-site" default="docs" basedir="."> | |
| <property name="docs.src" value="../xdocs"/> | |
| <property name="docs.dest" value="../docs"/> | |
| <target name="prepare"> | |
| <available classname="org.apache.velocity.anakia.AnakiaTask" | |
| property="AnakiaTask.present"/> | |
| </target> | |
| <target depends="prepare" name="prepare-error" unless="AnakiaTask.present"> | |
| <echo> | |
| AnakiaTask is not present! Please check to make sure that | |
| velocity.jar is in your classpath. | |
| </echo> | |
| </target> | |
| <target name="docs" depends="prepare-error" if="AnakiaTask.present"> | |
| <taskdef name="anakia" classname="org.apache.velocity.anakia.AnakiaTask"/> | |
| <anakia basedir="${docs.src}" destdir="${docs.dest}/" | |
| extension=".html" style="./site.vsl" | |
| projectFile="./stylesheets/project.xml" | |
| excludes="**/stylesheets/**" | |
| includes="**/*.xml" | |
| lastModifiedCheck="false" | |
| velocityPropertiesFile="velocity.properties"> | |
| </anakia> | |
| <copy todir="${docs.dest}/images" filtering="no"> | |
| <fileset dir="${docs.src}/images"> | |
| <include name="**/*.gif"/> | |
| <include name="**/*.jpeg"/> | |
| <include name="**/*.jpg"/> | |
| </fileset> | |
| </copy> | |
| </target> | |
| </project> | |
| </pre></td> | |
| <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> | |
| </tr> | |
| <tr> | |
| <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> | |
| <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> | |
| <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> | |
| </tr> | |
| </table> | |
| </div> | |
| <table> | |
| <tr> | |
| <td bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| Name | |
| </font> | |
| </td> | |
| <td bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| Description | |
| </font> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| basedir | |
| </font> | |
| </td> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| Specifies the path to the directory location of your | |
| .xml files. | |
| </font> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| destdir | |
| </font> | |
| </td> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| Specifies the path to the directory where the output | |
| files should go. | |
| </font> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| extension | |
| </font> | |
| </td> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| This is the extension that is appended to the end of your | |
| .xml file. For example, with an extension of ".html", | |
| index.xml would be converted into index.html. By default, | |
| the extension is .html. | |
| </font> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| style | |
| </font> | |
| </td> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| This is the path (relative to Velocity's | |
| template.loader.1.template.path) to the | |
| VelocityStyleTemplate to process. This file is the | |
| equivalent to the .xsl file in Ant's style task. | |
| </font> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| projectFile | |
| </font> | |
| </td> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| This is the path to a "project" file. This file is an | |
| XML file that can be used as a "navigation" file. If you | |
| have used Stylebook or Struts system for generation of the | |
| web site documentation, you will understand the purpose of | |
| this file. <strong>It is an optional task argument.</strong> | |
| If you look at the Anakia example in the | |
| jakarta-velocity/examples/anakia directory, you can see the | |
| project.xml file being used in the .vsl file. | |
| </font> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| excludes | |
| </font> | |
| </td> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| This is the standard Ant excludes attribute. Specify any | |
| files or directories that you do not want Anakia to try to | |
| process. | |
| </font> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| includes | |
| </font> | |
| </td> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| This is the standard Ant includes attribute. Specify any | |
| files or directories that you do want Anakia to try to | |
| process. | |
| </font> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| lastModifiedCheck | |
| </font> | |
| </td> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| This turns on or off the ability to check the last | |
| modified date on files in order to determine whether or not | |
| they need to be re-rendered or not. The value of this | |
| attribute can be "true, false, yes, no". By default, it is | |
| true, meaning that the last modified date should be checked | |
| and if the original .xml file, project file, or .vsl file | |
| have not changed, then don't process the page. This | |
| accelerates processing because pages that have not changed | |
| will not get reprocessed. | |
| </font> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| templatePath | |
| </font> | |
| </td> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| This is the path to the templateRoot which is the | |
| directory where your site.vsl file is located. This can be | |
| defined in the Velocity.properties or it can be defined | |
| here. It it an optional argument if it is defined in the | |
| Velocity properties file already. However, if defined, this | |
| value will override the path defined in the | |
| Velocity.properties file. | |
| </font> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| velocityPropertiesFile | |
| </font> | |
| </td> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| This is the path to the velocity.properties file. It is | |
| an optional argument and by default is set to find the | |
| properties file in the same directory that the JVM was | |
| started in. | |
| </font> | |
| </td> | |
| </tr> | |
| </table> | |
| </blockquote> | |
| </p> | |
| </td></tr> | |
| <tr><td><br/></td></tr> | |
| </table> | |
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |
| <tr><td bgcolor="#525D76"> | |
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |
| <a name="Context Objects"><strong>Context Objects</strong></a> | |
| </font> | |
| </td></tr> | |
| <tr><td> | |
| <blockquote> | |
| <p> | |
| The Anakia Ant task places several objects into the Context for you. | |
| Right now, you do not have control over what is placed into the | |
| Context. Eventually, we hope to have a way to give you control over | |
| this. However, that does not prevent Anakia from being extremely | |
| useful for you today. :-) The objects that are available to you in | |
| your .vsl template are: | |
| </p> | |
| <table> | |
| <tr> | |
| <td bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| Name | |
| </font> | |
| </td> | |
| <td bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| Value | |
| </font> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| $root | |
| </font> | |
| </td> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| This contains the JDOM root Element to your .xml document. When | |
| this (or any other variable containing an element) are simply | |
| placed into template output, their XML form is rendered. | |
| </font> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| $project | |
| </font> | |
| </td> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| This contains the JDOM root Element to your project.xml | |
| document. If you have not specified a project.xml document, | |
| then this variable will not be in the context. | |
| </font> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| $escape.getText($string) | |
| </font> | |
| </td> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| This context object will convert HTML Entities in the | |
| $string that is passed into it and it will return the | |
| converted String. This is good for dealing with CDATA. The | |
| entities that are converted are: " -> &quot; | < | |
| -> &lt; | > -> &gt; | & - > &amp; | |
| </font> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| $relativePath | |
| </font> | |
| </td> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| This contains a String which is the relative path to | |
| your .xml document from the baseDir that was specified in | |
| your Ant task attributes. Please see the examples/anakia | |
| .vsl document for example usage of this String. | |
| </font> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| $xmlout | |
| </font> | |
| </td> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| This contains an class which extends the instance of the | |
| JDOM XMLOutputter() object. This allows you to easily create | |
| String output out of your JDOM element objects. | |
| $xmlout.outputString(Element). Again, please look at the | |
| examples for more information on how to use this | |
| object. NOTE: this object is obsoleted as simply specifying | |
| $element will output the XML serialized form of the element. | |
| </font> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| $xmlout.outputString(Element, true) | |
| </font> | |
| </td> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| This contains an class which extends the instance of the | |
| JDOM XMLOutputter() object. The difference between this | |
| .outputString() and the one in XMLOutputter is that it will | |
| output all of the Elements <strong>within</strong> the | |
| passed in Element. So, if you pass in a <td> Element, | |
| you will get everything inside the <td> </td>, but | |
| not the actual <td> </td>. NOTE: this object is | |
| obsoleted as simply specifying $element.content will produce the | |
| desired output. | |
| </font> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| $treeWalk.allElements($element) | |
| </font> | |
| </td> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| This will allow you to walk a tree of JDOM Element | |
| objects starting at $element. The point of this context | |
| object is to allow you to build an XSLT type system where | |
| you can look at each Element node conditionally and set its | |
| content and attribute values. This is probably one of the | |
| more "ugly" aspects of Anakia, but it does do the | |
| job and suggestions for improvement are appreciated. This | |
| context object is still under development and more | |
| documentation will follow soon. NOTE: this object is obsolete and | |
| is kept for backward compatibility only. You can use | |
| $element.selectNodes("//*") to achieve the same effect. | |
| </font> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| $xpath.applyTo("document/properties/@title", $root) | |
| </font> | |
| </td> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| The W3C XPath Specification <a href="http://www.w3.org/TR/xpath/">http://www.w3.org/TR/xpath/ | |
| </a> refers to NodeSets repeatedly, but this implementation | |
| simply uses java.util.List to hold all Nodes. A 'Node' is any | |
| object in a JDOM object tree, such as an org.jdom.Element, | |
| org.jdom.Document, or org.jdom.Attribute. Please see the .vsl | |
| example file and the org.apache.velocity.anakia.XPathTool javadoc | |
| for more information. NOTE: this object is obsolete and is kept | |
| for backward compatibility only. You can use | |
| $element.selectNodes("document/properties/@title") to achieve | |
| the same effect with a more intuitive syntax. | |
| </font> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| $date | |
| </font> | |
| </td> | |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left"> | |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |
| This is a new java.util.Date object. Useful for putting | |
| the current date/time into a page. | |
| </font> | |
| </td> | |
| </tr> | |
| </table> | |
| <p> | |
| All node lists returned from Anakia objects through $element.selectNodes, | |
| $element.content, and $element.children, as well as through obsoleted | |
| $treeWalk.allElements and $xpath.applyTo have two special features: | |
| <ul> | |
| <li>they support the selectNodes method just as a single element does | |
| that applies an XPath expression to all nodes in the list, and</li> | |
| <li>when inserted into template output by simply specifying $list, they | |
| produce the XML fragment consisting of all nodes they contain. This | |
| eliminates much of the #foreach code in templates.</li> | |
| </ul> | |
| </p> | |
| </blockquote> | |
| </p> | |
| </td></tr> | |
| <tr><td><br/></td></tr> | |
| </table> | |
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |
| <tr><td bgcolor="#525D76"> | |
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |
| <a name="Credits"><strong>Credits</strong></a> | |
| </font> | |
| </td></tr> | |
| <tr><td> | |
| <blockquote> | |
| <p> | |
| Anakia was originally conceptualized and implemented by Jon S. Stevens. | |
| </p> | |
| <p> | |
| The name <a href="http://www.kabalarians.com/female/anakia.htm">Anakia</a> is a | |
| cool name that I think fits this project quite nicely. "The name of | |
| Anakia has given you the desire for creative, artistic or musical | |
| expression in an original way. You strive to be different and have | |
| the self-confidence to implement your ideas because you have the | |
| perseverance necessary to see something through, despite obstacles." | |
| </p> | |
| <p> | |
| Further help and assistance was provided by Jason van Zyl and Geir | |
| Magnusson Jr. XPath support was added by Bob McWhirter. The more | |
| intuitive syntax achieved through selectNodes() and self-rendering | |
| elements and node lists was added by Attila Szegedi. | |
| </p> | |
| </blockquote> | |
| </p> | |
| </td></tr> | |
| <tr><td><br/></td></tr> | |
| </table> | |
| </td> | |
| </tr> | |
| <!-- FOOTER --> | |
| <tr><td colspan="2"> | |
| <hr noshade="" size="1"/> | |
| </td></tr> | |
| <tr><td colspan="2"> | |
| <div align="center"><font color="#525D76" size="-1"><em> | |
| Copyright © 1999-2001, Apache Software Foundation | |
| </em></font></div> | |
| </td></tr> | |
| </table> | |
| </body> | |
| </html> | |
| <!-- end the processing --> | |