jon 00/11/25 22:52:40
Modified: docs anakia.html
Log:
added more documentation
Revision Changes Path
1.2 +63 -18 jakarta-velocity/docs/anakia.html
Index: anakia.html
===================================================================
RCS file: /home/cvs/jakarta-velocity/docs/anakia.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- anakia.html 2000/11/23 01:29:29 1.1
+++ anakia.html 2000/11/26 06:52:40 1.2
@@ -31,35 +31,40 @@
XML documents into whatever you like.
</P>
<P align="justify">
- The benefit of using Anakia over XSL is that it is MUCH easier to learn
- while still maintaining the same functionality level. Instead of learning
- cryptic <xsl:> tags, all you need to know is how to use JDOM and
- Velocity's simple directives. Anakia also seems much faster than Xalan's XSL
- processor at creating pages.
+ The benefit of using Anakia over XSL is that it is potentially easier to
+ learn while still maintaining a similar functionality level. Instead of
+ learning cryptic <xsl:> tags, all you need to know is how to use the
+ provided Context objects, JDOM and Velocity's simple directives. Anakia also
+ 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. A nearly 2x speed improvement.).
</P>
<P align="justify">
In the end, Anakia is intended as a replacement for Stylebook which was
- originally used to generate simple static websites where all the pages have
- the same look and feel. This is great for documentation websites as well as
- for project websites like what we have on jakarta.apache.org.
+ originally used to generate simple static websites where all the pages have
+ the same look and feel. This is great for documentation websites as well as
+ for project websites like what we have on jakarta.apache.org. Therefore some
+ of the "extra" functionality that XSL provides is not being
+ provided here.
</P>
<P align="justify">
We suggest that you take a look at the jakarta-velocity/examples/anakia
directory
for an example of how to get started with Anakia. It really is quite simple to
use.
</P>
<P align="justify">
- The basic premise of Anakia is that a Context is created, the .vsl page is
- executed with the Context. Within the Context contains a JDOM Document
- object of your .xml page as well as (optionally) a JDOM Document object of
- your project.xml page. You can then navigate your .xml file and pull
- information out of it by simply executing methods on the JDOM Document
- object.
+ The basic usage premise of Anakia is that a Context is created, the .vsl
+ page is executed (using Velocity) with the Context. Within the Context
+ contains a JDOM Document object of your .xml page as well as (optionally) a
+ JDOM Document object of your project.xml page. You can then navigate your
+ .xml file and pull information out of it by simply executing methods on the
+ JDOM Document object.
</P>
</FONT></TD></TR></TABLE></DIV><BR>
<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="0"
width="98%"><TR><TD bgcolor="#023264" width="100%"><FONT color="#ffffff"
face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="5" hspace="0"
src="resources/void.gif" vspace="0"
width="5"><B>Installation/Example</B></FONT></TD></TR><TR><TD><IMG border="0"
height="5" hspace="0" src="resources/void.gif" vspace="0"
width="1"></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0"
width="98%"><TR><TD><FONT color="#000000" face="arial,helvetica,sanserif">
<P align="justify">
- As we just mentioned, take a look at the jakarta-velocity/examples/anakia
directory.
+ As mentioned earlier, take a look at the jakarta-velocity/examples/anakia
directory.
In order to use those examples, you will need to first build Velocity by
following
these <A href="install.html">directions</A>.
</P>
@@ -248,17 +253,57 @@
</FONT></TD>
</TR>
<TR>
- <TD align="left" bgcolor="#a0ddf0" colspan="" rowspan=""
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">$xmloutput
+ <TD align="left" bgcolor="#a0ddf0" colspan="" rowspan=""
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">$xmlout
</FONT></TD>
<TD align="left" bgcolor="#a0ddf0" colspan="" rowspan=""
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">This
contains an instance of the JDOM XMLOutputter() object.
This allows you to easily create String output out of your JDOM
- element objects. Again, please look at the examples for more
information
- on how to use this object.
+ element objects. $xmlout.outputString(Element). Again, please look
+ at the examples for more information on how to use this object.
</FONT></TD>
</TR>
+ <TR>
+ <TD align="left" bgcolor="#a0ddf0" colspan="" rowspan=""
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">$treeWalk.allElements($element)
+ </FONT></TD> <TD align="left" bgcolor="#a0ddf0" colspan="" rowspan=""
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">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.
+ </FONT></TD>
+ </TR>
+ <TR>
+ <TD align="left" bgcolor="#a0ddf0" colspan="" rowspan=""
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif"
size="-1">$xpath.applyTo("/document/author", $root)
+ </FONT></TD>
+ <TD align="left" bgcolor="#a0ddf0" colspan="" rowspan=""
valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">This
context object returns a List of NodeSet objects.
+ Essentially, it gives you the power of the XPath specification
+ within Anakia. This context object is still under development
+ and more documentation will follow soon.
+ </FONT></TD>
+ </TR>
</TABLE>
</P>
+</FONT></TD></TR></TABLE></DIV><BR>
+
+<DIV align="right"><TABLE border="0" cellpadding="0" cellspacing="0"
width="98%"><TR><TD bgcolor="#023264" width="100%"><FONT color="#ffffff"
face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="5" hspace="0"
src="resources/void.gif" vspace="0"
width="5"><B>Credits</B></FONT></TD></TR><TR><TD><IMG border="0" height="5" hspace="0"
src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE><TABLE border="0"
cellpadding="0" cellspacing="0" width="98%"><TR><TD><FONT color="#000000"
face="arial,helvetica,sanserif">
+<P align="justify">
+ Anakia was originally conceptualized and implemented by Jon S. Stevens.
+</P>
+<P align="justify">
+ The name <A href="http://www.kabalarians.com/female/anakia.htm">Anakia</A> is
just 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 align="justify">
+ Further help and assistance was provided by Jason van Zyl, Geir Magnusson Jr.,
+ and the XPath support was added by Bob McWhirter.
+</P>
</FONT></TD></TR></TABLE></DIV><BR>