The essential concept of content inclusion is that other files, or sources of data, can be
included
(e.g., inserted or embedded) within a requested document's HTML output. Instructing an LXP
document to include another file means that the output from that included file will appear inline, as if it had been part
of the originally requested document itself. This can aid both the efficiency and maintainability of a large, dynamic web
site.
LXP can natively include a variety of external files, from plain HTML, to XML, to token-delimited flat files.
However, one of the strongest features of LXP's content inclusion capability is that LXP can embed
any
content type that your Apache web server has been configured to handle.
Earlier incarnations of LXP had somewhat rigid support for the inclusion of PHP scripts. As of Version 0.8,
however, LXP can include any available content type via Apache subrequests. This allows you to embed server-side
documents written in languages including, but not limited to,
PHP
,
Perl
, and
any executable CGI application. Any CGI arguments or LXP variables available to LXP are passed on to the included
document as if it had been called directly with those variables through an HTTP request.
LXP also utilizes
expat
, a nonvalidating XML parsing library. While
expat
doesn't validate your XML based on a DTD, the XML to be parsed
must at least
be
well-formed
(e.g., no invalid characters, mismatched tags, etc.).
The XML parser implementation was written into LXP with support for easy RSS/RDF formats in particular
(
Rich Site Summary
and
Resource Description Framework
, respectively). These
file formats are available on popular web sites to provide a short summary of the information supplied on their site to
other hosts that link to their content (e.g., the headlines from a news site, along with URL information).
LXP's XML method is evolving into a more generalized tool, but it can presently be used to a limited extent with
any well-formed XML.