ai4r 1.4 → 1.5
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +24 -3
- data/examples/decision_trees/id3_example.rb +1 -1
- data/examples/genetic_algorithm/genetic_algorithm_example.rb +1 -1
- data/lib/ai4r.rb +11 -0
- data/lib/ai4r/classifiers/classifier.rb +2 -0
- data/lib/ai4r/classifiers/id3.rb +3 -2
- data/lib/ai4r/classifiers/multilayer_perceptron.rb +135 -0
- data/lib/ai4r/classifiers/one_r.rb +2 -1
- data/lib/ai4r/classifiers/prism.rb +2 -1
- data/lib/ai4r/classifiers/zero_r.rb +2 -1
- data/lib/ai4r/clusterers/average_linkage.rb +60 -0
- data/lib/ai4r/clusterers/bisecting_k_means.rb +17 -39
- data/lib/ai4r/clusterers/clusterer.rb +25 -0
- data/lib/ai4r/clusterers/complete_linkage.rb +62 -0
- data/lib/ai4r/clusterers/k_means.rb +18 -25
- data/lib/ai4r/clusterers/single_linkage.rb +179 -0
- data/lib/ai4r/data/data_set.rb +33 -41
- data/lib/ai4r/data/proximity.rb +82 -0
- data/lib/ai4r/data/statistics.rb +77 -0
- data/lib/ai4r/experiment/classifier_evaluator.rb +95 -0
- data/lib/ai4r/genetic_algorithm/genetic_algorithm.rb +2 -4
- data/site/build/site/en/build/tmp/build-info.xml +5 -0
- data/site/build/site/en/build/tmp/plugins-1.xml +212 -0
- data/site/build/site/en/build/tmp/plugins-2.xml +252 -0
- data/site/build/site/en/build/tmp/projfilters.properties +41 -0
- data/site/build/site/en/downloads.html +1 -1
- data/site/build/site/en/geneticAlgorithms.html +1 -1
- data/site/build/site/en/index.html +44 -7
- data/site/build/site/en/index.pdf +278 -155
- data/site/build/site/en/linkmap.html +2 -2
- data/site/build/site/en/linkmap.pdf +12 -12
- data/site/build/site/en/machineLearning.html +1 -1
- data/site/build/site/en/neuralNetworks.html +1 -1
- data/site/build/site/en/sourceCode.html +244 -0
- data/site/build/site/en/sourceCode.pdf +278 -0
- data/site/build/site/en/svn.html +34 -42
- data/site/build/site/en/svn.pdf +86 -114
- data/site/build/tmp/cocoon-work/cache-dir/cocoon-ehcache-1.data +0 -0
- data/site/build/tmp/cocoon-work/cache-dir/cocoon-ehcache-1.index +0 -0
- data/site/build/tmp/projfilters.properties +1 -1
- data/site/build/webapp/WEB-INF/logs/core.log +628 -629
- data/site/build/webapp/WEB-INF/logs/error.log +213 -213
- data/site/src/documentation/content/xdocs/index.xml +20 -1
- data/site/src/documentation/content/xdocs/site.xml +1 -1
- data/site/src/documentation/content/xdocs/sourceCode.xml +43 -0
- data/site/src/documentation/resources/images/sigmoid.png +0 -0
- data/test/classifiers/id3_test.rb +0 -1
- data/test/classifiers/multilayer_perceptron_test.rb +79 -0
- data/test/classifiers/one_r_test.rb +0 -2
- data/test/classifiers/prism_test.rb +0 -2
- data/test/classifiers/zero_r_test.rb +0 -2
- data/test/clusterers/average_linkage_test.rb +45 -0
- data/test/clusterers/bisecting_k_means_test.rb +0 -2
- data/test/clusterers/complete_linkage_test.rb +45 -0
- data/test/clusterers/k_means_test.rb +0 -2
- data/test/clusterers/single_linkage_test.rb +113 -0
- data/test/data/data_set_test.rb +3 -15
- data/test/data/proximity_test.rb +71 -0
- data/test/data/statistics_test.rb +65 -0
- data/test/experiment/classifier_evaluator_test.rb +76 -0
- metadata +27 -6
- data/site/src/documentation/content/xdocs/svn.xml +0 -41
@@ -0,0 +1,77 @@
|
|
1
|
+
# Author:: Sergio Fierens
|
2
|
+
# License:: MPL 1.1
|
3
|
+
# Project:: ai4r
|
4
|
+
# Url:: http://ai4r.rubyforge.org/
|
5
|
+
#
|
6
|
+
# You can redistribute it and/or modify it under the terms of
|
7
|
+
# the Mozilla Public License version 1.1 as published by the
|
8
|
+
# Mozilla Foundation at http://www.mozilla.org/MPL/MPL-1.1.txt
|
9
|
+
|
10
|
+
require File.dirname(__FILE__) + '/data_set'
|
11
|
+
|
12
|
+
module Ai4r
|
13
|
+
module Data
|
14
|
+
|
15
|
+
# This module provides some basic statistics functions to operate on
|
16
|
+
# data set attributes.
|
17
|
+
module Statistics
|
18
|
+
|
19
|
+
# Get the sample mean
|
20
|
+
def self.mean(data_set, attribute)
|
21
|
+
index = data_set.get_index(attribute)
|
22
|
+
sum = 0.0
|
23
|
+
data_set.data_items.each { |item| sum += item[index] }
|
24
|
+
return sum / data_set.data_items.length
|
25
|
+
end
|
26
|
+
|
27
|
+
# Get the variance.
|
28
|
+
# You can provide the mean if you have it already, to speed up things.
|
29
|
+
def self.variance(data_set, attribute, mean = nil)
|
30
|
+
index = data_set.get_index(attribute)
|
31
|
+
mean = mean(data_set, attribute)
|
32
|
+
sum = 0.0
|
33
|
+
data_set.data_items.each { |item| sum += (item[index]-mean)**2 }
|
34
|
+
return sum / (data_set.data_items.length-1)
|
35
|
+
end
|
36
|
+
|
37
|
+
# Get the standard deviation.
|
38
|
+
# You can provide the variance if you have it already, to speed up things.
|
39
|
+
def self.standard_deviation(data_set, attribute, variance = nil)
|
40
|
+
variance ||= variance(data_set, attribute)
|
41
|
+
Math.sqrt(variance)
|
42
|
+
end
|
43
|
+
|
44
|
+
# Get the sample mode.
|
45
|
+
def self.mode(data_set, attribute)
|
46
|
+
index = data_set.get_index(attribute)
|
47
|
+
count = Hash.new {0}
|
48
|
+
max_count = 0
|
49
|
+
mode = nil
|
50
|
+
data_set.data_items.each do |data_item|
|
51
|
+
attr_value = data_item[index]
|
52
|
+
attr_count = (count[attr_value] += 1)
|
53
|
+
if attr_count > max_count
|
54
|
+
mode = attr_value
|
55
|
+
max_count = attr_count
|
56
|
+
end
|
57
|
+
end
|
58
|
+
return mode
|
59
|
+
end
|
60
|
+
|
61
|
+
# Get the maximum value of an attribute in the data set
|
62
|
+
def self.max(data_set, attribute)
|
63
|
+
index = data_set.get_index(attribute)
|
64
|
+
item = data_set.data_items.max {|x,y| x[index] <=> y[index]}
|
65
|
+
return (item) ? item[index] : (-1.0/0)
|
66
|
+
end
|
67
|
+
|
68
|
+
# Get the minimum value of an attribute in the data set
|
69
|
+
def self.min(data_set, attribute)
|
70
|
+
index = data_set.get_index(attribute)
|
71
|
+
item = data_set.data_items.min {|x,y| x[index] <=> y[index]}
|
72
|
+
return (item) ? item[index] : (1.0/0)
|
73
|
+
end
|
74
|
+
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
@@ -0,0 +1,95 @@
|
|
1
|
+
require 'benchmark'
|
2
|
+
require File.dirname(__FILE__) + '/../data/data_set'
|
3
|
+
|
4
|
+
|
5
|
+
module Ai4r
|
6
|
+
|
7
|
+
module Experiment
|
8
|
+
|
9
|
+
# The ClassifierEvaluator is useful to compare different classifiers
|
10
|
+
# algorithms. The evaluator builds the Classifiers using the same data
|
11
|
+
# examples, and provides methods to evalute their performance in parallel.
|
12
|
+
# It is a nice tool to compare and evaluate the performance of different
|
13
|
+
# algorithms, the same algorithm with different parameters, or your own new
|
14
|
+
# algorithm against the classic classifiers.
|
15
|
+
class ClassifierEvaluator
|
16
|
+
|
17
|
+
attr_reader :build_times, :eval_times, :classifiers
|
18
|
+
|
19
|
+
def initialize
|
20
|
+
@classifiers = []
|
21
|
+
end
|
22
|
+
|
23
|
+
# Add a classifier instance to the test batch
|
24
|
+
def add_classifier(classifier)
|
25
|
+
@classifiers << classifier
|
26
|
+
return self
|
27
|
+
end
|
28
|
+
|
29
|
+
alias :<< :add_classifier
|
30
|
+
|
31
|
+
# Build all classifiers, using data examples found in data_set.
|
32
|
+
# The last attribute of each item is considered as the
|
33
|
+
# item class.
|
34
|
+
# Building times are measured by separate, and can be accessed
|
35
|
+
# through build_times attribute reader.
|
36
|
+
def build(data_set)
|
37
|
+
@build_times = []
|
38
|
+
@classifiers.each do |classifier|
|
39
|
+
@build_times << Benchmark.measure { classifier.build data_set }
|
40
|
+
end
|
41
|
+
return self
|
42
|
+
end
|
43
|
+
|
44
|
+
# You can evaluate new data, predicting its class.
|
45
|
+
# e.g.
|
46
|
+
# classifier.eval(['New York', '<30', 'F'])
|
47
|
+
# => ['Y', 'Y', 'Y', 'N', 'Y', 'Y', 'N']
|
48
|
+
# Evaluation times are measured by separate, and can be accessed
|
49
|
+
# through eval_times attribute reader.
|
50
|
+
def eval(data)
|
51
|
+
@eval_times = []
|
52
|
+
results = []
|
53
|
+
@classifiers.each do |classifier|
|
54
|
+
@eval_times << Benchmark.measure { results << classifier.eval(data) }
|
55
|
+
end
|
56
|
+
return results
|
57
|
+
end
|
58
|
+
|
59
|
+
# Test classifiers using a data set. The last attribute of each item
|
60
|
+
# is considered as the expected class. Data items are evaluated
|
61
|
+
# using all classifiers: evalution times, sucess rate, and quantity of
|
62
|
+
# classification errors are returned in a data set.
|
63
|
+
# The return data set has a row for every classifier tested, and the
|
64
|
+
# following attributes:
|
65
|
+
# ["Classifier", "Testing Time", "Errors", "Success rate"]
|
66
|
+
def test(data_set)
|
67
|
+
result_data_items = []
|
68
|
+
@classifiers.each do |classifier|
|
69
|
+
result_data_items << test_classifier(classifier, data_set)
|
70
|
+
end
|
71
|
+
return Ai4r::Data::DataSet.new(:data_items => result_data_items,
|
72
|
+
:data_labels => ["Classifier","Testing Time","Errors","Success rate"])
|
73
|
+
end
|
74
|
+
|
75
|
+
private
|
76
|
+
def test_classifier(classifier, data_set)
|
77
|
+
data_set_size = data_set.data_items.length
|
78
|
+
errors = 0
|
79
|
+
testing_times = Benchmark.measure do
|
80
|
+
data_set.data_items.each do |data_item|
|
81
|
+
data = data_item[0...-1]
|
82
|
+
expected_result = data_item.last
|
83
|
+
result = classifier.eval data
|
84
|
+
errors += 1 if result != expected_result
|
85
|
+
end
|
86
|
+
end
|
87
|
+
return [classifier, testing_times.real, errors,
|
88
|
+
((data_set_size-errors*1.0)/data_set_size)]
|
89
|
+
end
|
90
|
+
|
91
|
+
end
|
92
|
+
|
93
|
+
end
|
94
|
+
|
95
|
+
end
|
@@ -1,4 +1,3 @@
|
|
1
|
-
#
|
2
1
|
# Author:: Sergio Fierens
|
3
2
|
# License:: MPL 1.1
|
4
3
|
# Project:: ai4r
|
@@ -7,7 +6,6 @@
|
|
7
6
|
# You can redistribute it and/or modify it under the terms of
|
8
7
|
# the Mozilla Public License version 1.1 as published by the
|
9
8
|
# Mozilla Foundation at http://www.mozilla.org/MPL/MPL-1.1.txt
|
10
|
-
|
11
9
|
module Ai4r
|
12
10
|
|
13
11
|
# The GeneticAlgorithm module implements the GeneticSearch and Chromosome
|
@@ -15,10 +13,10 @@ module Ai4r
|
|
15
13
|
# any kind of problems. The GeneticSearch class performs a stochastic search
|
16
14
|
# of the solution of a given problem.
|
17
15
|
#
|
18
|
-
# The Chromosome is "problem specific". Ai4r built-in
|
16
|
+
# The Chromosome is "problem specific". Ai4r built-in Chromosome class was
|
19
17
|
# designed to model the Travelling salesman problem. If you want to solve other
|
20
18
|
# type of problem, you will have to modify the Chromosome class, by overwriting
|
21
|
-
# its fitness, reproduce, and mutate functions, to model
|
19
|
+
# its fitness, reproduce, and mutate functions, to model your specific problem.
|
22
20
|
module GeneticAlgorithm
|
23
21
|
|
24
22
|
# This class is used to automatically:
|
@@ -0,0 +1,212 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<!--
|
3
|
+
Licensed to the Apache Software Foundation (ASF) under one or more
|
4
|
+
contributor license agreements. See the NOTICE file distributed with
|
5
|
+
this work for additional information regarding copyright ownership.
|
6
|
+
The ASF licenses this file to You under the Apache License, Version 2.0
|
7
|
+
(the "License"); you may not use this file except in compliance with
|
8
|
+
the License. You may obtain a copy of the License at
|
9
|
+
|
10
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
|
12
|
+
Unless required by applicable law or agreed to in writing, software
|
13
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
See the License for the specific language governing permissions and
|
16
|
+
limitations under the License.
|
17
|
+
-->
|
18
|
+
<!DOCTYPE plugins [
|
19
|
+
<!ENTITY % links.att 'name CDATA #REQUIRED'>
|
20
|
+
<!ENTITY % link.att 'name CDATA #REQUIRED href CDATA #REQUIRED'>
|
21
|
+
<!ELEMENT plugins (plugin*)>
|
22
|
+
<!ATTLIST plugins type CDATA #REQUIRED>
|
23
|
+
<!ELEMENT plugin (description, forrestVersion)>
|
24
|
+
<!ATTLIST plugin name CDATA #REQUIRED
|
25
|
+
type (input|output|internal) #REQUIRED
|
26
|
+
url CDATA #REQUIRED
|
27
|
+
author CDATA #REQUIRED
|
28
|
+
website CDATA #IMPLIED
|
29
|
+
version CDATA #IMPLIED>
|
30
|
+
<!ELEMENT description (#PCDATA)>
|
31
|
+
<!ELEMENT forrestVersion (#PCDATA)>
|
32
|
+
]>
|
33
|
+
<plugins type="released">
|
34
|
+
<!-- ================================================================== -->
|
35
|
+
<!-- Input Plugins -->
|
36
|
+
<!-- ================================================================== -->
|
37
|
+
<plugin name="org.apache.forrest.plugin.input.dtdx"
|
38
|
+
type="input"
|
39
|
+
author="Apache Forrest Project"
|
40
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.dtdx"
|
41
|
+
url="http://forrest.apache.org/plugins/"
|
42
|
+
version="0.2">
|
43
|
+
<description>
|
44
|
+
Use the NekoDTD tool packaged as a Cocoon Generator to automatically
|
45
|
+
generate some hyperlinked DTD reference documentation.
|
46
|
+
</description>
|
47
|
+
<forrestVersion>0.8</forrestVersion>
|
48
|
+
</plugin>
|
49
|
+
<plugin name="org.apache.forrest.plugin.input.excel"
|
50
|
+
type="input"
|
51
|
+
author="Apache Forrest Project"
|
52
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.excel/"
|
53
|
+
url="http://forrest.apache.org/plugins"
|
54
|
+
version="0.3">
|
55
|
+
<description>
|
56
|
+
Reads (simple) Excel sheets from the Excel "Save As" (Type=XML).
|
57
|
+
</description>
|
58
|
+
<forrestVersion>0.8</forrestVersion>
|
59
|
+
</plugin>
|
60
|
+
<plugin name="org.apache.forrest.plugin.input.feeder"
|
61
|
+
type="input"
|
62
|
+
author="Apache Forrest Project"
|
63
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.feeder"
|
64
|
+
url="http://forrest.apache.org/plugins"
|
65
|
+
version="0.2">
|
66
|
+
<description>
|
67
|
+
Embed syndicated content in a Forrest site.
|
68
|
+
</description>
|
69
|
+
<forrestVersion>0.8</forrestVersion>
|
70
|
+
</plugin>
|
71
|
+
<plugin name="org.apache.forrest.plugin.input.listLocations"
|
72
|
+
type="input"
|
73
|
+
author="Apache Forrest Project"
|
74
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.listLocations"
|
75
|
+
url="http://forrest.apache.org/plugins/"
|
76
|
+
version="0.2">
|
77
|
+
<description>
|
78
|
+
Use lists of locations maintained in a simple xml format and transform
|
79
|
+
them to documents.
|
80
|
+
</description>
|
81
|
+
<forrestVersion>0.8</forrestVersion>
|
82
|
+
</plugin>
|
83
|
+
<plugin name="org.apache.forrest.plugin.input.OpenOffice.org"
|
84
|
+
type="input"
|
85
|
+
author="Apache Forrest Project"
|
86
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.OpenOffice.org"
|
87
|
+
url="http://forrest.apache.org/plugins"
|
88
|
+
version="0.2">
|
89
|
+
<description>
|
90
|
+
Use various OpenOffice.org document formats as input sources.
|
91
|
+
</description>
|
92
|
+
<forrestVersion>0.8</forrestVersion>
|
93
|
+
</plugin>
|
94
|
+
<plugin name="org.apache.forrest.plugin.input.PhotoGallery"
|
95
|
+
type="input"
|
96
|
+
author="Apache Forrest Project"
|
97
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.PhotoGallery"
|
98
|
+
url="http://forrest.apache.org/plugins"
|
99
|
+
version="0.3">
|
100
|
+
<description>
|
101
|
+
Create a photo Gallery by simply dropping your photos into a directory.
|
102
|
+
</description>
|
103
|
+
<forrestVersion>0.8</forrestVersion>
|
104
|
+
</plugin>
|
105
|
+
<plugin name="org.rblasch.forrest.plugin.input.pod"
|
106
|
+
type="input"
|
107
|
+
author="Ronald Blaschke"
|
108
|
+
website="http://www.rblasch.org/projects/pod-input/"
|
109
|
+
url="http://www.rblasch.org/projects/pod-input"
|
110
|
+
version="0.1">
|
111
|
+
<description>
|
112
|
+
Embed Pod (Plain Old Documentation) documents in a Forrest site.
|
113
|
+
</description>
|
114
|
+
<forrestVersion>0.7</forrestVersion>
|
115
|
+
</plugin>
|
116
|
+
<plugin name="org.apache.forrest.plugin.input.projectInfo"
|
117
|
+
type="input"
|
118
|
+
author="Apache Forrest Project"
|
119
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo"
|
120
|
+
url="http://forrest.apache.org/plugins/"
|
121
|
+
version="0.2">
|
122
|
+
<description>
|
123
|
+
Generates project info such as changelog and todo list.
|
124
|
+
</description>
|
125
|
+
<forrestVersion>0.8</forrestVersion>
|
126
|
+
</plugin>
|
127
|
+
<plugin name="org.apache.forrest.plugin.input.simplifiedDocbook"
|
128
|
+
type="input"
|
129
|
+
author="Apache Forrest Project"
|
130
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.simplifiedDocbook"
|
131
|
+
url="http://forrest.apache.org/plugins/"
|
132
|
+
version="0.2">
|
133
|
+
<description>
|
134
|
+
Enable Simplified Docbook to be used as input.
|
135
|
+
</description>
|
136
|
+
<forrestVersion>0.8</forrestVersion>
|
137
|
+
</plugin>
|
138
|
+
<plugin name="org.apache.forrest.plugin.input.wiki"
|
139
|
+
type="input"
|
140
|
+
author="Apache Forrest Project"
|
141
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.wiki"
|
142
|
+
url="http://forrest.apache.org/plugins/"
|
143
|
+
version="0.2">
|
144
|
+
<description>
|
145
|
+
Embed various wiki documents in a Forrest site.
|
146
|
+
</description>
|
147
|
+
<forrestVersion>0.8</forrestVersion>
|
148
|
+
</plugin>
|
149
|
+
<!-- ================================================================== -->
|
150
|
+
<!-- Output Plugins -->
|
151
|
+
<!-- ================================================================== -->
|
152
|
+
<plugin name="org.apache.forrest.plugin.output.inputModule"
|
153
|
+
type="output"
|
154
|
+
author="Apache Forrest Project"
|
155
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.output.inputModule"
|
156
|
+
url="http://forrest.apache.org/plugins/"
|
157
|
+
version="0.1">
|
158
|
+
<description>
|
159
|
+
Enable Forrest to produce properties from an input-module.
|
160
|
+
</description>
|
161
|
+
<forrestVersion>0.8</forrestVersion>
|
162
|
+
</plugin>
|
163
|
+
<plugin name="org.apache.forrest.plugin.output.pdf"
|
164
|
+
type="output"
|
165
|
+
author="Apache Forrest Project"
|
166
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.output.pdf"
|
167
|
+
url="http://forrest.apache.org/plugins/"
|
168
|
+
version="0.2">
|
169
|
+
<description>
|
170
|
+
Enable Forrest documents to be output in PDF format.
|
171
|
+
</description>
|
172
|
+
<forrestVersion>0.8</forrestVersion>
|
173
|
+
</plugin>
|
174
|
+
<plugin name="org.apache.forrest.plugin.output.POD"
|
175
|
+
type="output"
|
176
|
+
author="Apache Forrest Project"
|
177
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.output.POD"
|
178
|
+
url="http://forrest.apache.org/plugins/"
|
179
|
+
version="0.2">
|
180
|
+
<description>
|
181
|
+
Enable Forrest documents to be output in Plain Old Documentation (POD)
|
182
|
+
format.
|
183
|
+
</description>
|
184
|
+
<forrestVersion>0.8</forrestVersion>
|
185
|
+
</plugin>
|
186
|
+
<plugin name="org.apache.forrest.plugin.output.Text"
|
187
|
+
type="output"
|
188
|
+
author="Apache Forrest Project"
|
189
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.output.Text"
|
190
|
+
url="http://forrest.apache.org/plugins/"
|
191
|
+
version="0.2">
|
192
|
+
<description>
|
193
|
+
Enable Forrest documents to be output in Text format.
|
194
|
+
</description>
|
195
|
+
<forrestVersion>0.8</forrestVersion>
|
196
|
+
</plugin>
|
197
|
+
<plugin name="s5"
|
198
|
+
type="output"
|
199
|
+
author="Ross Gardler"
|
200
|
+
website="http://forrest.apache.org/~rgardler/testingGround/forrestPlugins/s5"
|
201
|
+
url="http://www.apache.org/~rgardler/testingGround/forrestPlugins/"
|
202
|
+
version="0.1">
|
203
|
+
<description>
|
204
|
+
Create S5: A Simple Standards-Based Slide Show System presentations from
|
205
|
+
xdocs.
|
206
|
+
</description>
|
207
|
+
<forrestVersion>0.7</forrestVersion>
|
208
|
+
</plugin>
|
209
|
+
<!-- ================================================================== -->
|
210
|
+
<!-- Internal Plugins -->
|
211
|
+
<!-- ================================================================== -->
|
212
|
+
</plugins>
|
@@ -0,0 +1,252 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<!--
|
3
|
+
Licensed to the Apache Software Foundation (ASF) under one or more
|
4
|
+
contributor license agreements. See the NOTICE file distributed with
|
5
|
+
this work for additional information regarding copyright ownership.
|
6
|
+
The ASF licenses this file to You under the Apache License, Version 2.0
|
7
|
+
(the "License"); you may not use this file except in compliance with
|
8
|
+
the License. You may obtain a copy of the License at
|
9
|
+
|
10
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
|
12
|
+
Unless required by applicable law or agreed to in writing, software
|
13
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
See the License for the specific language governing permissions and
|
16
|
+
limitations under the License.
|
17
|
+
-->
|
18
|
+
<!DOCTYPE plugins [
|
19
|
+
<!ENTITY % links.att 'name CDATA #REQUIRED'>
|
20
|
+
<!ENTITY % link.att 'name CDATA #REQUIRED href CDATA #REQUIRED'>
|
21
|
+
<!ELEMENT plugins (plugin*)>
|
22
|
+
<!ATTLIST plugins type CDATA #REQUIRED>
|
23
|
+
<!ELEMENT plugin (description, forrestVersion)>
|
24
|
+
<!ATTLIST plugin name CDATA #REQUIRED
|
25
|
+
type (input|output|internal) #REQUIRED
|
26
|
+
url CDATA #REQUIRED
|
27
|
+
author CDATA #REQUIRED
|
28
|
+
website CDATA #IMPLIED
|
29
|
+
version CDATA #IMPLIED>
|
30
|
+
<!ELEMENT description (#PCDATA)>
|
31
|
+
<!ELEMENT forrestVersion (#PCDATA)>
|
32
|
+
]>
|
33
|
+
<plugins type="whiteboard">
|
34
|
+
<!-- ================================================================== -->
|
35
|
+
<!-- Input Plugins -->
|
36
|
+
<!-- ================================================================== -->
|
37
|
+
<plugin name="org.apache.forrest.plugin.input.citations"
|
38
|
+
type="input"
|
39
|
+
author="Apache Forrest Project"
|
40
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.citations/"
|
41
|
+
url="http://forrest.apache.org/plugins"
|
42
|
+
version="0.1">
|
43
|
+
<description>
|
44
|
+
List of citations.
|
45
|
+
</description>
|
46
|
+
<forrestVersion>0.8</forrestVersion>
|
47
|
+
</plugin>
|
48
|
+
<plugin name="org.apache.forrest.plugin.input.Daisy"
|
49
|
+
type="input"
|
50
|
+
author="Apache Forrest Project"
|
51
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.Daisy/"
|
52
|
+
url="http://forrest.apache.org/plugins"
|
53
|
+
version="0.1">
|
54
|
+
<description>
|
55
|
+
Allow content to be included from a Daisy CMS repository.
|
56
|
+
</description>
|
57
|
+
<forrestVersion>0.8</forrestVersion>
|
58
|
+
</plugin>
|
59
|
+
<plugin name="org.apache.forrest.plugin.input.doap"
|
60
|
+
type="input"
|
61
|
+
author="Apache Forrest Project"
|
62
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.doap/"
|
63
|
+
url="http://forrest.apache.org/plugins"
|
64
|
+
version="0.1">
|
65
|
+
<description>
|
66
|
+
Embed DOAP files in forrest content objects.
|
67
|
+
</description>
|
68
|
+
<forrestVersion>0.8</forrestVersion>
|
69
|
+
</plugin>
|
70
|
+
<plugin name="org.apache.forrest.plugin.input.glossary"
|
71
|
+
type="input"
|
72
|
+
author="Apache Forrest Project"
|
73
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.glossary/"
|
74
|
+
url="http://forrest.apache.org/plugins"
|
75
|
+
version="0.1">
|
76
|
+
<description>
|
77
|
+
Enable glossary: a list of technical terms and definitions.
|
78
|
+
</description>
|
79
|
+
<forrestVersion>0.8</forrestVersion>
|
80
|
+
</plugin>
|
81
|
+
<plugin name="org.apache.forrest.plugin.input.logs"
|
82
|
+
type="input"
|
83
|
+
author="Apache Forrest Project"
|
84
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_70/org.apache.forrest.plugin.input.logs"
|
85
|
+
url="http://forrest.apache.org/plugins"
|
86
|
+
version="0.1">
|
87
|
+
<description>
|
88
|
+
Embed log file output in Forrest sites. If Forrest is running in a dynamic
|
89
|
+
environment, then pages can be updated to show recent changes in the log
|
90
|
+
whenever required.
|
91
|
+
</description>
|
92
|
+
<forrestVersion>0.7</forrestVersion>
|
93
|
+
</plugin>
|
94
|
+
<plugin name="org.apache.forrest.plugin.input.odt"
|
95
|
+
type="input"
|
96
|
+
author="Apache Forrest Project"
|
97
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.odt"
|
98
|
+
url="http://forrest.apache.org/plugins"
|
99
|
+
version="0.1">
|
100
|
+
<description>
|
101
|
+
Use OpenDocument Writer files (*.odt) as input sources.
|
102
|
+
</description>
|
103
|
+
<forrestVersion>0.8</forrestVersion>
|
104
|
+
</plugin>
|
105
|
+
<plugin name="org.apache.forrest.plugin.input.Resume"
|
106
|
+
type="input"
|
107
|
+
author="Apache Forrest Project"
|
108
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.Resume"
|
109
|
+
url="http://forrest.apache.org/plugins"
|
110
|
+
version="0.1">
|
111
|
+
<description>
|
112
|
+
Basic support for Resumes, renders a single resume, or alloes sorting of a
|
113
|
+
number of resumes on skill.
|
114
|
+
</description>
|
115
|
+
<forrestVersion>0.8</forrestVersion>
|
116
|
+
</plugin>
|
117
|
+
<plugin name="org.apache.forrest.plugin.input.serverStatus"
|
118
|
+
type="input"
|
119
|
+
author="Apache Forrest Project"
|
120
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.serverStatus"
|
121
|
+
url="http://forrest.apache.org/plugins"
|
122
|
+
version="0.1">
|
123
|
+
<description>
|
124
|
+
Provides a list of the Cocoon cache and other server status information.
|
125
|
+
</description>
|
126
|
+
<forrestVersion>0.8</forrestVersion>
|
127
|
+
</plugin>
|
128
|
+
<!-- ================================================================== -->
|
129
|
+
<!-- Output Plugins -->
|
130
|
+
<!-- ================================================================== -->
|
131
|
+
<plugin name="org.apache.forrest.plugin.output.Anakia"
|
132
|
+
type="output"
|
133
|
+
author="Apache Forrest Project"
|
134
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.output.Anakia/"
|
135
|
+
url="http://forrest.apache.org/plugins"
|
136
|
+
version="0.1">
|
137
|
+
<description>
|
138
|
+
Produce output in Anakia "xdoc" format.
|
139
|
+
</description>
|
140
|
+
<forrestVersion>0.8</forrestVersion>
|
141
|
+
</plugin>
|
142
|
+
<plugin name="org.apache.forrest.plugin.output.Chart"
|
143
|
+
type="output"
|
144
|
+
author="Apache Forrest Project"
|
145
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_70/org.apache.forrest.plugin.output.Chart"
|
146
|
+
url="http://forrest.apache.org/plugins/"
|
147
|
+
version="0.1">
|
148
|
+
<description>
|
149
|
+
Charting plugin that utilises JChart.
|
150
|
+
</description>
|
151
|
+
<forrestVersion>0.7</forrestVersion>
|
152
|
+
</plugin>
|
153
|
+
<plugin name="org.apache.forrest.plugin.input.ecs"
|
154
|
+
type="input"
|
155
|
+
author="Apache Forrest Project"
|
156
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.ecs/"
|
157
|
+
url="http://forrest.apache.org/plugins"
|
158
|
+
version="0.1">
|
159
|
+
<description>
|
160
|
+
Process responses from Amaozons E-Commerce System web services.
|
161
|
+
</description>
|
162
|
+
<forrestVersion>0.8</forrestVersion>
|
163
|
+
</plugin>
|
164
|
+
<plugin name="org.apache.forrest.plugin.output.htmlArea"
|
165
|
+
type="output"
|
166
|
+
author="Apache Forrest Project"
|
167
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_70/org.apache.forrest.plugin.output.htmlArea"
|
168
|
+
url="http://forrest.apache.org/plugins/"
|
169
|
+
version="0.1">
|
170
|
+
<description>
|
171
|
+
WYSIWYG editing of HTML documents (requires Forrest to be running
|
172
|
+
dynamically).
|
173
|
+
</description>
|
174
|
+
<forrestVersion>0.7</forrestVersion>
|
175
|
+
</plugin>
|
176
|
+
<plugin name="org.apache.forrest.plugin.output.voice"
|
177
|
+
type="output"
|
178
|
+
author="Apache Forrest Project"
|
179
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.output.voice"
|
180
|
+
url="http://forrest.apache.org/plugins/"
|
181
|
+
version="0.1">
|
182
|
+
<description>
|
183
|
+
Add voiceXML content to a Forrest page. This allows the page to be read by
|
184
|
+
a voice synthesiser and navigated with voice commands.
|
185
|
+
</description>
|
186
|
+
<forrestVersion>0.8</forrestVersion>
|
187
|
+
</plugin>
|
188
|
+
<plugin name="org.apache.forrest.plugin.output.solr"
|
189
|
+
type="output"
|
190
|
+
author="Apache Forrest Project"
|
191
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.output.solr"
|
192
|
+
url="http://forrest.apache.org/plugins/"
|
193
|
+
version="0.1">
|
194
|
+
<description>
|
195
|
+
Generates solr documents from xdos. Further when run with the dispatcher
|
196
|
+
it provides a GUI to manage your project in solr and a search interface to
|
197
|
+
search your solr server.
|
198
|
+
</description>
|
199
|
+
<forrestVersion>0.8</forrestVersion>
|
200
|
+
</plugin>
|
201
|
+
<plugin name="org.apache.forrest.themes.core"
|
202
|
+
type="output"
|
203
|
+
author="Apache Forrest Project"
|
204
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.themes.core"
|
205
|
+
url="http://forrest.apache.org/plugins/"
|
206
|
+
version="0.1">
|
207
|
+
<description>
|
208
|
+
The core theme package for the dispatcher.
|
209
|
+
</description>
|
210
|
+
<forrestVersion>0.8</forrestVersion>
|
211
|
+
</plugin>
|
212
|
+
<!-- ================================================================== -->
|
213
|
+
<!-- Internal Plugins -->
|
214
|
+
<!-- ================================================================== -->
|
215
|
+
<plugin name="org.apache.forrest.plugin.internal.IMSManifest"
|
216
|
+
type="internal"
|
217
|
+
author="Apache Forrest Project"
|
218
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_70/org.apache.forrest.plugin.internal.IMSManifest"
|
219
|
+
url="http://forrest.apache.org/plugins/"
|
220
|
+
version="0.1">
|
221
|
+
<description>
|
222
|
+
Use an IMS Manifest file to manage site structure. Generates site.xml and
|
223
|
+
tabs.xml from an imsmanifest.xml file when one is available. Also enables
|
224
|
+
content in one Content Package to be embedded in another.
|
225
|
+
</description>
|
226
|
+
<forrestVersion>0.7</forrestVersion>
|
227
|
+
</plugin>
|
228
|
+
<plugin name="org.apache.forrest.plugin.internal.NoteTaking"
|
229
|
+
type="internal"
|
230
|
+
author="Apache Forrest Project"
|
231
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.NoteTaking"
|
232
|
+
url="http://forrest.apache.org/plugins/"
|
233
|
+
version="0.1">
|
234
|
+
<description>
|
235
|
+
Provides facilities for adding notes to pages when Forrest is run in
|
236
|
+
dynamic mode.
|
237
|
+
</description>
|
238
|
+
<forrestVersion>0.8</forrestVersion>
|
239
|
+
</plugin>
|
240
|
+
<plugin name="org.apache.forrest.plugin.internal.dispatcher"
|
241
|
+
type="internal"
|
242
|
+
author="Apache Forrest Project"
|
243
|
+
website="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher"
|
244
|
+
url="http://forrest.apache.org/plugins/"
|
245
|
+
version="0.1">
|
246
|
+
<description>
|
247
|
+
Enable Forrest to use page-specific views and contracts. Next generation
|
248
|
+
skinning.
|
249
|
+
</description>
|
250
|
+
<forrestVersion>0.8</forrestVersion>
|
251
|
+
</plugin>
|
252
|
+
</plugins>
|