This module provides a CodeGenerator for Petal that inherits almost
everything from Petal::CodeGenerator but modifies how expressions are
dealt with. Petal normally includes code like this
$hash->get( "not:user" )
in the compiled template. This means the path has to be parsed and
interpreted at runtime. Using Petal::CodePerl, Petal will now produce this
! ($hash->{"user"})
which will be much faster.
It uses Parse::RecDescent to parse the PETALES expressions which makes it
a bit slow to load the module but this won't matter much unless you have
turned off caching. It won't matter at all for something like Apache's
mod_perl.
Petal is a XML based templating engine that is able to process any kind of
XML, XHTML and HTML.
Petal borrows a lot of good ideas from the Zope Page Templates TAL
specification, it is very well suited for the creation of WYSIWYG XHTML
editable templates.
The idea is to further enforce the separation of logic from presentation.
With Petal, graphic designers can use their favorite WYSIWYG editor to
easily edit templates without having to worry about the loops and ifs
which happen behind the scene.
RDF::Core is a pure perl implementation of RDF storage, parser,
serializer and query.
The storage functionality is basic - store, delete, query statements,
where query means ask about existence or count or retrieve statements
conforming given mask of (subject, predicate, object). Three storages
are available - in memory, file (DB_File) and DBMS (PostgreSQL).
The parser supports full RDF/XML syntax including aboutEach attribute
(though it became obsolete).
The serializer attempts to preserve anonymous nodes and to compact xml a
bit grouping statements with common subject.
The query language is rather focused on resources than on statements.
This class subclasses Text::Diff::Unified, a formatting class provided
by the Text::Diff module, to add XHTML markup to the unified diff
format. For details on the interface of the diff() function, see the
Text::Diff documentation.
In the XHTML formatted by this module, the contents of the diff returned
by diff() are wrapped in a <div> element, as is each hunk of the diff.
Within each hunk, all content is properly HTML encoded using
HTML::Entities, and the various sections of the diff are marked up with
the appropriate XHTML elements.
The Tree::Nary class implements N-ary trees (trees of data with any
number of branches), providing the organizational structure for a
tree (collection) of any number of nodes, but knowing nothing about
the specific type of node used. It can be used to display
hierarchical database entries in an internal application (the NIS
netgroup file is an example of such a database). It offers the
capability to select nodes on the tree, and attachment points for
nodes on the tree. Each attachment point can support multiple
child nodes.
This module implements an XML diff producing XML output. Both input and
output are DOM documents, as implemented by XML::LibXML.
The diff format used by XML::DifferenceMarkup is meant to be
human-readable (i.e. simple, as opposed to short) - basically the diff
is a subset of the input trees, annotated with instruction element nodes
specifying how to convert the source tree to the target by inserting and
deleting nodes. To prevent name colisions with input trees, all added
elements are in a namespace http://www.locus.cz/XML/DifferenceMarkup
(the diff will fail on input trees which already use that namespace).
This Perl module implements an XML parser with a interface similar to
XML::Parser. Though not all callbacks are supported, you should be able
to use it in the same way you use XML::Parser. Due to using experimental
regexp features it'll work only on Perl 5.6 and above and may behave
differently on different platforms.
Note that you cannot use regular expressions or split in callbacks. This
is due to a limitation of perl's regular expression implementation
(which is not re-entrant).
This module is for writing RSS files, simply. It transparently handles all
the unpleasant details of RSS, like proper XML escaping, and also has a good
number of Do-What-I-Mean features, like not changing the modtime on a
written-out RSS file if the file content hasn't changed, and like
automatically removing any HTML tags from content you might pass in.
This module isn't meant to have the full expressive power of RSS; instead, it
provides functions that are most commonly needed by RSS-writing programs.
Soothsayer is an intelligent predictive text entry platform. Soothsayer
exploits redundant information embedded in natural languages to generate
predictions. Soothsayer's modular and pluggable architecture allows its
language model to be extended and customized to utilize statistical,
syntactic, and semantic information sources.
A predictive text entry system attempts to improve ease and speed of
textual input. Word prediction consists in computing which word tokens
or word completions are most likely to be entered next. The system
analyses the text already entered and combines the information thus
extracted with other information sources to calculate a set of most
probable tokens.
Mako is a template library written in Python. It provides a familiar,
non-XML syntax which compiles into Python modules for maximum
performance. Mako's syntax and API borrows from the best ideas of many
others, including Django templates, Cheetah, Myghty, and
Genshi. Conceptually, Mako is an embedded Python (i.e. Python Server
Page) language, which refines the familiar ideas of componentized
layout and inheritance to produce one of the most straightforward and
flexible models available, while also maintaining close ties to Python
calling and scoping semantics.