The Xerces Java Parser is a complete implementation of the parser related
portions of JAXP 1.4 and also brings Xerces into compliance with SAX 2.0.2, the
DOM Level 3 Core and Load/Save W3C Recommendations, the XML Inclusions
(XInclude) Version 1.0 W3C Recommendation and the XML Schema 1.0 Structures and
Datatypes Second Edition W3C Recommendations.
Xerces2 is the next generation of high performance, fully compliant XML parsers
in the Apache Xerces family. This version of Xerces introduces the Xerces
Native Interface (XNI), a complete framework for building parser components and
configurations that is extremely modular and easy to program.
The Apache Xerces2 parser is the reference implementation of XNI but other
parser components, configurations, and parsers can be written using the Xerces
Native Interface.
From the abstract:
The XHTML Basic document type includes the minimal set of modules
required to be an XHTML host language document type, and in addition
it includes images, forms, basic tables, and object support. It
is designed for Web clients that do not support the full set of
XHTML features; for example, Web clients such as mobile phones,
PDAs, pagers, and settop boxes. The document type is rich enough for
content authoring.
XHTML Basic is designed as a common base that may be extended. For
example, an event module that is more generic than the traditional
HTML 4 event system could be added or it could be extended by
additional modules from XHTML Modularization such as the Scripting
Module. The goal of XHTML Basic is to serve as a common language
supported by various kinds of user agents.
The document type definition is implemented using XHTML
modules as defined in "Modularization of XHTML", found in
ports/textproc/xhtml-modularization.
LibHTP is a security-aware parser for the HTTP protocol and the related bits
and pieces. The goals of the project, in the order of importance, are as
follows:
1. Completeness of coverage; LibHTP must be able to parse virtually all
traffic that is found in practice.
2. Permissive parsing; LibHTP must never fail to parse a stream that would
be parsed by some other web server.
3. Awareness of evasion techniques; LibHTP must be able to detect and
effectively deal with various evasion techniques, producing, where
practical, identical or practically identical results as the web
server processing the same traffic stream.
4. Performance; The performance must be adequate for the desired tasks.
Completeness and security are often detremental to performance. Our
idea of handling the conflicting requirements is to put the library
user in control, allowing him to choose the most desired library
characteristic.
mod_encoding - Apache module for non-ascii filename interoperability
This module improves non-ascii filename interoperability of apache
(and mod_dav).
It seems many WebDAV clients send filename in its platform-local
encoding. But since mod_dav expects everything, even HTTP request
line, to be in UTF-8, this causes an interoperability problem.
I believe this is a future issue for specification (RFC?) to
standardize encoding used in HTTP request-line and HTTP header, but
life would be much easier if mod_dav (and others) can handle various
encodings sent by clients, TODAY. This module does just that.
This module adds following directives: EncodingEngine, SetServerEncoding,
AddClientEncoding, DefaultClientEncoding, and NormalizeUsername.
Note by maintainer:
It also solves the problem with the "hostname\\username"
way of authentication that Windows machines do when they
attach to a DAV server. See the use of the NormalizeUsername
directive.
mod_auth_kerb is an Apache module for authenticating Web clients in a
Kerberos v5 realm. Authentication may be performed via the Kerberos
principal/password; it may also be done securely using SPNEGO (HTTP
Negotiate auth protocol) to perform a GSSAPI/Kerberos authentication
from the user's browser and Kerberos credentials directly to the server
Kerberos credentials 'HTTP/host@REALM'. Because the Kerberos password is
transmitted in plain text in the former mode, when using mod_auth_kerb
for naive HTTP Basic (password-based) authentication, this module
MUST be used in conjunction with an encryption-capable Web server
(e.g. Apache) to keep that exchange private. There is no documentation
provided; see the Web site for more details.
CGI::Ex provides a suite of utilities to make writing CGI scripts more
enjoyable. Although they can all be used separately, the main functionality of
each of the modules is best represented in the CGI::Ex::App module. CGI::Ex::App
takes CGI application building to the next step. CGI::Ex::App is not quite a
framework (which normally includes pre-built html) instead CGI::Ex::App is an
extended application flow that dramatically reduces CGI build time in most
cases. It does so using as little magic as possible. See CGI::Ex::App.
The main functionality is provided by several other modules that may be used
separately, or together through the CGI::Ex interface.
There are two styles of programming with CGI.pm, an object-oriented
style and a function-oriented style. In the object-oriented style you
create one or more CGI objects and then use object methods to create the
various elements of the page. Each CGI object starts out with the list
of named parameters that were passed to your CGI script by the server.
You can modify the objects, save them to a file or database and recreate
them. Because each object corresponds to the "state" of the CGI script,
and because each object's parameter list is independent of the others,
this allows you to save the state of the script and restore it later.
Catalyst::View::TT::ControllerLocal is like a normal Catalyst TT View,
but with template file names relative to the current Controller. So
with a set of templates like:
./root/edit.html
./root/add.html
./root/Frobniz/add.html
and an action "add" in the Controller "MyApp::Controller::Frobniz", you
set "$c->stash->{template}" to "add.html" in order for it to pick up
the "./root/frobbiz/add.html" template.
Setting the "$c->stash->{template}" from Controller "MyApp::Con-
troller::Bogon" would instead pick the default template in
"./root/add.html" (since there is no Bogon subdirectory under root).
In addition, since there is no file "edit.html" except in the Frobniz
directory, C::V::TT::ControllerLocal will default to looking for
"edit.html" in ./root/ and ./root/base (or whatever you set MyApp->con-
fig->{INCLUDE_PATH} to).
This module collects common URI validation routines to make input validation,
and untainting easier and more readable.
All functions return an untainted value if the test passes, and undef if it
fails. This means that you should always check for a defined status
explicitly. Don't assume the return will be true.
The value to test is always the first (and often only) argument.
There are a number of other URI validation modules out there as well.
This one focuses on being fast, lightweight, and relatively 'real-world'.
i.e. it's good if you want to check user input, and don't need to parse
out the URI/URL into chunks.
Right now the module focuses on HTTP URIs, since they're arguably the most
common.
Protovis - A Graphical Toolkit for Data Visualization
Protovis composes custom views of data with simple marks such as bars and dots.
Unlike low-level graphics libraries that quickly become tedious for
visualization, Protovis defines marks through dynamic properties that encode
data, allowing inheritance, scales and layouts to simplify construction.
Protovis is free and open-source, provided under the BSD License. It uses
JavaScript and SVG for web-native visualizations; no plugin required (though you
will need a modern web browser)! Although programming experience is helpful,
Protovis is mostly declarative and designed to be learned by example.
This project is led by Mike Bostock and Jeff Heer of the Stanford Visualization
Group, with significant help from Vadim Ogievetsky. We welcome your
contributions and suggestions.