joerg       2003/07/02 17:03:55

  Added:       src/documentation/xdocs/userdocs/generators
                        xpathdirectory-generator.xml
  Log:
  initial import: additional configuration, extended DTD + example for 
XPathDirectoryGenerator
  
  Revision  Changes    Path
  1.1                  
cocoon-2.1/src/documentation/xdocs/userdocs/generators/xpathdirectory-generator.xml
  
  Index: xpathdirectory-generator.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.0//EN" 
"document-v10.dtd">
  
  <document>
    <header>
      <title>XPath Directory Generator</title>
      <version>1.0</version>
      <type>Technical document</type>
      <authors>
        <person name="Jörg Heinicke" email="[EMAIL PROTECTED]"/>
      </authors>
      <abstract>This document describes the XPath Directory Generator of 
Cocoon.</abstract>
    </header>
    <body>
      <s1 title="XPath Directory Generator">
        <p>Generates an XML directory listing performing XPath queries on XML 
files.</p>
        <ul>
          <li>Name: xpathdirectory</li>
          <li>Class: org.apache.cocoon.generation.XPathDirectoryGenerator</li>
          <li>Cacheable: yes</li>
        </ul>
        <p>The XPath Directory Generator provides all the functionality of the
          <link href="directory-generator.html">Directory Generator</link>. 
Additionaly it is possible
          to get XML snippets out of the XML files the Directory Generator 
finds.</p>
      </s1>
      <s1 title="Additional Configuration">
        <source><![CDATA[
    <map:generate type="xpathdirectory" src="the/requested/directory">
      <map:parameter name="xpath" value="/article/title|/article/abstract"/>
      <map:parameter name="xmlFiles" value="\.x.*$"/>
    </map:generate>
        ]]></source>
        <p>The XPath Directory Generator has two additional parameters, both 
are optional.</p>
        <ul>
          <li>xpath: Sets the XPath the XPath Directory Generator should use 
for queries on XML files.
              If you don't set this parameter it will behave like the Directory 
Generator.</li>
          <li>xmlFiles: The xml files pattern. Specifies the files that should 
be handled as XML
              files. Only on the files matching this pattern an XPath query 
will be tried. The XPath
              Directory Generator does not fail on files that are no XML files 
or that are not
              well-formed or not valid. All Exceptions on parsing the files 
will be caught and
              ignored. But of course useless parsing and throwing and catching 
exceptions is very
              time consuming, so you should not make the pattern to 
generic.<br/>
              If you specify an empty pattern all files will be handled as XML 
files. The default
              pattern when not specifying this parameter is 
<code>\.xml$</code>, so that all files
              ending <code>.xml</code> are handled as XML files.<br/>
              The pattern is a regular expression as described in the API docs 
of the
              <link 
href="http://jakarta.apache.org/regexp/apidocs/org/apache/regexp/RE.html";>
              Apache RegExp project</link>.</li>
        </ul>
      </s1>
      <s1 title="Extended DTD">
        <source><![CDATA[
    <!ELEMENT directory (directory|file)*>
    <!ATTLIST directory
      name         CDATA #REQUIRED
      lastModified CDATA #REQUIRED
      date         CDATA #REQUIRED
      size         CDATA #REQUIRED
      requested    CDATA #IMPLIED
      sort         CDATA #IMPLIED
      reverse      CDATA #IMPLIED>
  
    <!ELEMENT file (xpath?)>
    <!ATTLIST file
      name         CDATA #REQUIRED
      lastModified CDATA #REQUIRED
      date         CDATA #REQUIRED
      size         CDATA #REQUIRED>
  
    <!ELEMENT xpath #ALL>
    <!ATTLIST xpath
      query        CDATA #REQUIRED>
        ]]></source>
      </s1>
      <s1 title="Example">
        <p>The current XPath Directory Generator may generate following xml:</p>
        <source><![CDATA[
  <dir:directory xmlns:dir="http://apache.org/cocoon/directory/2.0";
      name="articles" lastModified="1057183738609" date="03.07.03 00:08" 
size="0"
      requested="true" sort="name" reverse="false">
    <dir:directory name="images" lastModified="1057183738609" date="03.07.03 
00:08" size="0"/>
    <dir:file name="article1.xml" lastModified="1057183738609" date="03.07.03 
00:08" size="123">
      <dir:xpath query="/article/title">
        <title>My first article!</title>
      </dir:xpath>
    </dir:file>
    <dir:file name="article2.html" lastModified="1057183738609" date="03.07.03 
00:08" size="345"/>
    <dir:file name="article2.xml" lastModified="1057183738609" date="03.07.03 
00:08" size="234">
      <dir:xpath query="/article/title">
        <title>My second article!</title>
      </dir:xpath>
    </dir:file>
  </dir:directory>
        ]]></source>
      </s1>
    </body>
  </document>
  
  
  

Reply via email to