HOME | NEWS | FAQ | DOCUMENTATION | DOWNLOADS | SITE MAP | CONTACTS/LINKS

DirectoryGenerator

Directory generators read a directory and present it to the pipeline as an XML document for processing. So a typical use of DirectoryGenerator would be:

<map:generators default="file"> <map:generator name="directory" src="resource://lib/generation/DirectoryGenerator"/> ... </map:generators> <map:pipelines> <map:pipeline> <map:match pattern="test-dir.html"> <map:generate type="directory" src="context://resources"> <map:parameter name="depth" value="2"/> <map:parameter name="dateFormat" value="F d Y H:i:s"/> <map:parameter name="include" value="/.*/"/> <map:parameter name="exclude" value="/.+\.xmap/"/> <map:parameter name="reverse" value="false"/> </map:generate> <map:call resource="xml2html"/> </map:match> </map:pipeline> </map:pipelines>

where

  • src — the root directory to start scanning.
  • depth — (optional) the recurse depth for the directory scan (defaults to 1, the requested directory only).
  • dateFormat — (optional) the format of the date string (follows the PHP format).
  • include — (optional) a regular Perl expression defining what files/directories to include in the scan.
  • exclude — (optional) a regular Perl expression defining what files/directories to exclude in the scan.
  • reverse — (optional) true/false(default) to determine the direction of the sort.

The example above injects the following typical XML into the pipeline (taken from the Paloose directory):

<dir:directory name="/Library/Apache2/htdocs/pp/resources" lastmodified="April 02 2007 11:24:09" reverse="false" requested="true" size="306" xmlns:dir="http://apache.org/cocoon/directory/2.0"> <dir:directory name="/Library/Apache2/htdocs/pp/resources/transforms" lastmodified="April 23 2007 10:21:06" size="1428"> <dir:file name="xml2rss.xsl" lastmodified="April 02 2007 11:24:11" size="3330"/> <dir:file name="xml2html.xsl" lastmodified="April 02 2007 11:24:11" size="8018"/> ... <dir:file name="admin-buildAuthenticateDOM.xsl" lastmodified="April 02 2007 11:24:11" size="3322"/> <dir:file name="admin-addUser.xsl" lastmodified="April 02 2007 11:24:11" size="2606"/> </dir:directory> ... <dir:directory name="/Library/Apache2/htdocs/pp/resources/images" lastmodified="April 02 2007 11:24:13" size="1258"> <dir:file name="wcag1AA.png" lastmodified="April 02 2007 11:24:12" size="2288"/> <dir:file name="w3c_ab.png" lastmodified="April 02 2007 11:24:12" size="1296"/> <dir:file name="vcss.png" lastmodified="April 02 2007 11:24:12" size="1134"/> ... <dir:file name="RSS.gif" lastmodified="April 02 2007 11:24:13" size="451"/> <dir:file name=".DS_Store" lastmodified="December 03 2006 19:47:42" size="6148"/> </dir:directory> </dir:directory>

where

  • name — the name of the directory/file.
  • lastmodified — when the directory/file was last modified (format according to dateFormat).
  • requested — always true.
  • size — size of the directory/file in bytes.
  • reverse — true/false(default) showing the direction of the sort.
 
left footerCopyright 2007 Hugh Field-Richards. All Rights Reserved.