sgrep (structured grep) is a tool for searching and indexing text, SGML,XML
and HTML files and filtering text streams using structural criteria. The data
model of sgrep is based on regions, which are nonempty substrings of text.
Regions are typically occurrences of constant strings, SGML-tags, or meaningful
text elements, which are recognizable through some delimiting strings or the
builtin SGML, XML and HTML parser. Regions can be arbitrarily long, arbitrarily
overlapping, and arbitrarily nested.
Sgrep is a convenient tool for making queries to almost any kind of text files
with some well kown structure. These include programs, mail folders, news
folders, HTML, SGML, etc... With relatively simple queries you can display mail
messages by their subject or sender, extract titles or links or any regions
from HTML files, function prototypes from C or make complex queries to SGML
files based on the DTD of the file.
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.
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).
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.
PyAMF provides Action Message Format (AMF) support for Python that is
compatible with the Flash Player.
The Adobe Integrated Runtime and Flash Player use AMF to communicate between
an application and a remote server. AMF encodes remote procedure calls (RPC)
into a compact binary representation that can be transferred over HTTP/HTTPS
or the RTMP/RTMPS protocol. Objects and data values are serialized into this
binary format, which increases performance, allowing applications to load data
up to 10 times faster than with text-based formats such as XML or SOAP.
AMF3, the default serialization for ActionScript 3.0, provides various
advantages over AMF0, which is used for ActionScript 1.0 and 2.0. AMF3 sends
data over the network more efficiently than AMF0. AMF3 supports sending int
and uint objects as integers and supports data types that are available only
in ActionScript 3.0, such as ByteArray, ArrayCollection, and IExternalizable.