Kaynağa Gözat

updated docs for dev version

using new forrest docs


git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@195365 13f79535-47bb-0310-9956-ffa450edef68
pull/30/head
Keiron Liddle 21 yıl önce
ebeveyn
işleme
631dbc40d8

+ 27
- 0
forrest.properties Dosyayı Görüntüle

@@ -0,0 +1,27 @@
##############
# Properties used by forrest.build.xml for building the website
##############

# Prints out a summary of Forrest settings for this project
#forrest.echo=true

# Project name (used to name .war file)
project.name=fop-project

# Specifies name of Forrest skin to use
#project.skin=forrest-site

# Properties that must be set to override the default locations
#project.status=status.xml
project.content-dir=src/documentation
#project.conf-dir=${project.content-dir}/conf
project.sitemap=${project.content-dir}/sitemap.xmap
#project.xdocs-dir=${project.content-dir}/content/xdocs
#project.stylesheets-dir=${project.content-dir}/resources/stylesheets
#project.images-dir=${project.content-dir}/resources/images
#project.schema-dir=${project.content-dir}/resources/schema
#project.skins-dir=${project.content-dir}/skins
project.skinconf=${project.content-dir}/skinconf.xml
#project.lib-dir=${project.content-dir}/lib
#project.classes-dir=${project.content-dir}/classes


+ 14
- 0
src/documentation/content/xdocs/book.xml Dosyayı Görüntüle

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//APACHE//DTD Cocoon Documentation Book V1.0//EN" "book-cocoon-v10.dtd">

<book software="FOP"
title="FOP"
copyright="@year@ The Apache Software Foundation"
xmlns:xlink="http://www.w3.org/1999/xlink">

<menu label="About">
<menu-item label="Index" href="index.html"/>
<menu-item label="Changes" href="changes.html"/>
<menu-item label="Todo" href="todo.html"/>
</menu>
</book>

+ 16
- 0
src/documentation/content/xdocs/dev/book.xml Dosyayı Görüntüle

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//APACHE//DTD Cocoon Documentation Book V1.0//EN" "book-cocoon-v10.dtd">

<book software="FOP"
title="FOP"
copyright="@year@ The Apache Software Foundation"
xmlns:xlink="http://www.w3.org/1999/xlink">

<menu label="About">
<menu-item label="Index" href="index.html"/>
<menu-item label="Examples" href="examples.html"/>
<menu-item label="SVG" href="svg.html"/>
<menu-item label="Extensions" href="extensions.html"/>
<menu-item label="Configuration" href="configuration.html"/>
</menu>
</book>

+ 45
- 0
src/documentation/content/xdocs/dev/configuration.xml Dosyayı Görüntüle

@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
<document>
<header>
<title>Configuration</title>
</header>
<body>
<section>
<title>Configuring FOP</title>
<p>
In the directory xml-fop/conf you will find an example
configuration file. It contains the default values of various
configurable options available in FOP.
</p>
<p>The file fop.xconf is not read automatically, the user
must specify it on the command line or if embedding then
configure the appropriate classes.
</p>
</section>
<section>
<title>Setting up Hyphenation</title>
<p>Fop comes already with some hyphenation patterns. If you
need a hyphenation pattern which isn't included in the
distribution, do the following:
</p>
<p>1. get the TeX hyphenation pattern file and turn it into an xml file which conforms
to the hyphenation.dtd in the sub directory /hyph
</p>
<p>2. name this new file following this schema: languageCode_countryCode.xml. If you don't need
a country code, leave it out, e.g the file name for an American english hyphenation pattern
would look like this: en_US.xml. For an Italian file: it.xml. Language and country codes must be
the same as in xsl:fo, that is follow
<link href="http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt">ISO 639</link>
and <link href="http://www.ics.uci.edu/pub/ietf/http/related/iso3166.txt">ISO 3166</link>
respectively. NOTE: The ISO 639/ISO 3166 convention is that language names are
written in lower case, while country codes are written in upper case.
</p>
<p>3. If you have build your new hyphenation pattern file
successfully you put the file into the /hyph directoy
and rebuild Fop. The file will be picked up and added
to the fop.jar.
</p>
</section>
</body>
</document>

+ 14
- 0
src/documentation/content/xdocs/dev/examples.xml Dosyayı Görüntüle

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
<document>
<header>
<title>FO Examples</title>
</header>
<body>
<section>
<title></title>
<p>
</p>
</section>
</body>
</document>

+ 95
- 0
src/documentation/content/xdocs/dev/extensions.xml Dosyayı Görüntüle

@@ -0,0 +1,95 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
<document>
<header>
<title>Extensions to FOP</title>
</header>
<body>
<section>
<title>Overview</title>
<p>
If the default funtionality of FOP needs to be extended for
some reason then you can write an extensions.
</p>
<p>
There are three types of extensions possible. An output document
extensions such as the PDF bookmarks, an instream-foreign-object
extensions such as SVG and an fo extension that creates an
area in the area tree where normal xsl:fo is not possible.
</p>
</section>
<section>
<title>Default Extensions</title>
<p>
These extension are available by default. They are automatically loaded
and you only need to provide the correct namespace for your embedded
xml markup.
</p>
<section>
<title>SVG</title>
<p>
Please see the <link href="svg.html">SVG page</link> for more details.
</p>
<p>
The SVG extensions gets all the xml elements in the SVG namespace
and builds an SVG DOM with batik. The SVG DOM is then rendered
to the output format using a handler for the XML content of
the instream-foreign-object.
</p>
</section>
<section>
<title>PDF Bookmarks</title>
<p>
To use this standard Fop extension, you need to add a namespace entry for
http://xml.apache.org/fop/extensions on the root element. </p>

<p>You can provide outlines inside the root object (but outside
any page-sequences or
other formatting objects). Here's an example of an outline entry:</p>
<source>
<![CDATA[<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:fox="http://xml.apache.org/fop/extensions">
<fox:bookmarks>
<fox:outline internal-destination="sec3">
<fox:label>Running FOP</fox:label>

<fox:outline internal-destination="sec3-1">
<fox:label>Prerequisites</fox:label>
</fox:outline>
<fox:outline>
</fox:bookmarks>
</fo:root>]]></source>
<p>It works similarly to a basic-link. There is also an external-destination
property, but it isn't supported currently. See the <link href="pdfoutline.pdf">pdfoutline.pdf</link> for a more complete example.
</p>
</section>
</section>
<section>
<title>Adding Your Own</title>
<p>
To add your own extension you need to do the following things.
</p>
<p>
Write code that implements your extension functionality.
There are some examples in the contrib/ directory.
</p>
<p>
Create a jar file with your classes, it must also include the
following file "/META-INF/services/org.apache.fop.fo.ElementMapping".
In this file you need to put the fully qualified classname of
your element mappings class. This class must implement the
"org.apache.fop.fo.ElementMapping" interface.
</p>
<p>
Create your fo file with the extra xml data embedded in the file
with the correct name space. The examples for svg and
<link href="pdfoutline.pdf">pdfoutline.pdf</link>
show how this can be done.
</p>
<p>
Put your jar file in the classpath and then run fop over the fo file.
</p>
</section>
</body>
</document>


+ 1106
- 0
src/documentation/content/xdocs/dev/fo/embedding.fo
Dosya farkı çok büyük olduğundan ihmal edildi
Dosyayı Görüntüle


+ 92
- 0
src/documentation/content/xdocs/dev/index.xml Dosyayı Görüntüle

@@ -0,0 +1,92 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
<document>
<header>
<title>FOP 1.0 development</title>
</header>
<body>
<section>
<title>Introduction</title>
<p>
These pages contain information that is relevant to the
current development of FOP.
</p>
<p>FOP is the world's first print formatter driven by XSL formatting
objects and the world's first output independent formatter. It is a
Java application that reads a formatting object tree and then
renders the resulting pages to a specified output. <jump href="output.html">Output formats</jump>
currently supported are PDF, PCL, PS, SVG, XML (area tree representation),
Print, AWT, MIF and TXT.
The primary output target is PDF.
</p>
<note>
FOP - someone who is overly concerned with style, also conveniently
can mean Formatting Object Processor.
</note>
<p>
<figure width="480" height="260" src="document.jpg" alt="Render Diagram" />
</p>
<p>The latest version of Fop is 0.20.4 and it supports the
<jump href="http://www.w3.org/TR/2001/REC-xsl-20011015/">XSL-FO Version 1.0
W3C Recommendation</jump>.
You can <jump href="download.html">download</jump>
Fop including a precompiled version, the source code and many example files to
get you started. Pointers to introductions into xsl:fo can be found in the
<jump href="resources.html">resources</jump> section. Please be aware, that
Fop is at the moment not a full implementation of the basic conformance level
of the xsl:fo standard. You can find a list of supported flow objects and properties
in the section <jump href="implemented.html">Features</jump> and in section
<jump href="limitations.html">Limitations</jump> in what way this support is
limited.
</p>
<p>FOP is part of Apache's XML project. The homepage of FOP is
<jump href="http://xml.apache.org/fop">http://xml.apache.org/fop</jump>.
Here you can find information about using and developing with FOP.
</p>
<p>Users can subscribe to fop-user@xml.apache.org by sending an email
to <jump href="mailto:fop-user-subscribe@xml.apache.org">fop-user-subscribe@xml.apache.org</jump>
this is where user specific topics are discussed.
</p>
</section>
<section>
<title>Formatting</title>
<p>
<figure width="480" height="260" src="layout.jpg" alt="Formatting Diagram" />
</p>
<p>
This image is a demonstration of a two page document. The xml data on the left
is formatted into the two pages on the right. The document contains static areasthat appear on every page, an external graphic in this case an svg document.
There is a footnote on the first page and a table that goes across both pages.
</p>
<p>
The advantage of XSL is the ability to take an XML document and to format
the information into a page layout. The XML document can be generated
in any way, the most common would be to use XSLT. FOP takes the XML
and formats the data into pages. The pages are then rendered to the
requested output.
</p>
<p>
This is a real document. The image was created by rendering the document
to the svg renderer then putting the rendered pages into an svg document
along with the xml.
</p>
</section>
<section>
<title>FOP Objectives</title>
<p>
The goals of the Apache XML FOP Project are to deliver an XSL FO->PDF formatter that is compliant to at least the Basic
conformance level described in the W3C Recommendation from 15 October 2001, and that complies with the 11 March 1999 Portable Document
Format Specification (Version 1.3) from Adobe Systems.
</p>

<p>Conformance to the XML 1.0 Recommendation, XSLT 1.0 Recommendation and the XML Namespaces Recommendation is
understood. Other relevant documents, such as the XPath and XLink Working Drafts, are referenced as necessary. The FOP
Project will attempt to use the latest version of evolving specifications.
</p>

<p>To reach this aim currently the layout system is being redesigned to
better handle the formatting of all different types of formatting objects.
</p>
</section>
</body>
</document>

+ 234
- 0
src/documentation/content/xdocs/dev/svg.xml Dosyayı Görüntüle

@@ -0,0 +1,234 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
<document>
<header>
<title>SVG in FOP</title>
</header>
<body>
<section>
<title>Introduction</title>
<p>
FOP uses the SVG library from
<link href="http://xml.apache.org/batik/">Batik</link> to handle SVG.
This format can be handled as an <code>fo:instream-foreign-object</code>
or in a separate file referenced with <code>fo:external-graphic</code>.
Either way the SVG document will be read in and converted into a
DOM in Batik. This DOM will then be used by the renderer to
create the graphical image.
</p>
<p>
The AWT and Print renderers simply use batik to draw the SVG into a graphic.
</p>
<p>
In the case of the PDF renderer there is a PDFGraphics2D class that Batik uses
to render the image into. This class converts the drawing instructions into
PDF markup which is placed into the current PDF document.
</p>
</section>
<section>
<title>Converting SVG to a PDF Document</title>
<p>
It is possible to convert a standalone SVG document directly
into a simple page PDF document.
This is possible through the use of Batik's transcoder mechanism.<br/>
<code>java org.apache.batik.apps.rasterizer.Main -m application/pdf document.svg</code>
<br/>
This will output the svg document as "document.pdf" containing
a PDF rendering of the SVG file.
</p>
<p>
It is also possible to specify the width and/or height
of the PDF document on the command line with -w and -h or if
you are using the transcoder api you can use the transcoding hints.
</p>
<p>
Currently the SVG image is drawn at the SVG document size and
simply scaled in PDF to the new size. So the result may not be
the best possible. For example if you have any images or effects
it will draw them at the original resolution of the svg document.
When this is viewed in the pdf it will have an incorrect resolution
for the size of the pdf.
</p>
<p>
The size of the pdf file will also remain the same regardless of
what size the page is.
</p>
<p>
For more information see <link href="http://xml.apache.org/batik/">Batik</link>
for how transcoders work.
</p>
</section>
<section>
<title>Examples</title>
<p>
These examples illustrate a number of issues relating to conversion
to PDF:
<table>
<caption>SVG to PDF examples</caption>
<tr>
<th></th>
<th>svg file</th>
<th>png file</th>
<th>pdf result</th>
</tr>
<tr>
<td>images</td>
<td><link href="svg/images.svg">images.svg</link></td>
<td><link href="svg/images.png">images.png</link></td>
<td><link href="svg/images.pdf">images.pdf</link></td>
</tr>
<tr>
<td>svg linking</td>
<td><link href="svg/link.svg">link.svg</link></td>
<td><link href="svg/link.png">link.png</link></td>
<td><link href="svg/link.pdf">link.pdf</link></td>
</tr>
<tr>
<td>gradients and patterns</td>
<td><link href="svg/paints.svg">paints.svg</link></td>
<td><link href="svg/paints.png">paints.png</link></td>
<td><link href="svg/paints.pdf">paints.pdf</link></td>
</tr>
<tr>
<td>various text and effects on text</td>
<td><link href="svg/text.svg">text.svg</link></td>
<td><link href="svg/text.png">text.png</link></td>
<td><link href="svg/text.pdf">text.pdf</link></td>
</tr>
<tr>
<td>transparent objects</td>
<td><link href="svg/transparency.svg">transparency.svg</link></td>
<td><link href="svg/transparency.png">transparency.png</link></td>
<td><link href="svg/transparency.pdf">transparency.pdf</link></td>
</tr>
</table>
As can be seen most of the specific issues are handled.

<table>
<caption>XSL:FO to PDF examples</caption>
<tr>
<th></th>
<th>fo file</th>
<th>pdf result</th>
</tr>
<tr>
<td>embedding svg</td>
<td><link href="fo/embedding.fo">embedding.fo</link></td>
<td><link href="fo/embedding.fo.pdf">embedding.fo.pdf</link></td>
</tr>
</table>
</p>
</section>
<section>
<title>Important Notes</title>
<p>
The svg is inserted into PDF by using PDF commands to draw and fill
lines and curves. This means that the graphical objects created with
this remain as vector graphics.
</p>
<p>
There are a number of SVG things that cannot be converted directly into
PDF. Parts of the graphic such as effects and images are inserted
into the PDF as a raster graphic. The resolution of this graphic may not
be ideal depending on the FOP dpi (72dpi) and the scaling for that graphic.
</p>
<p>
Another important note is that text may be converted and drawn as a
set of shapes by batik.
If possible it will use normal PDF text when inserting text. It does
this by checking if the text can be drawn normally and the font is
supported. This example svg <link href="svg/text.svg">text.svg</link> /
<link href="svg/text.pdf">text.pdf</link>
shows how various types and effects with text are handled.
</p>
<p>
If the text cannot be drawn normally then it uses shapes.
This means that a typical character will have about 10 curves
(each curve consists of at least 20 characters).
This can make the pdf files large and when the pdf is viewed the
viewer does not normally draw those fine curves very well (turning on
Smooth Line Art in the Acrobat preferences will fix this).
If the text is inserted into the PDF using the inbuilt text commands
for PDF it will use a single character.
</p>
</section>
<section>
<title>Known Problems</title>
<p>
<ul>
<li>
soft mask transparency is combined with white so that it looks better
on pdf 1.3 viewers but this causes the soft mask to be slightly lighter
or darker on pdf 1.4 viewers
</li>
<li>
there is some problem with a gradient inside a pattern causing a pdf
error when viewed in acrobat 5
</li>
<li>
text is not always handled correctly, it may select the wrong font
especially if characters have multiple fonts in the font list
</li>
<li>
more pdf text handling could be implemented
It could draw the string using the attributed character iterator
to handle tspans and other simple changes of text.
</li>
<li>
JPEG images are not inserted directly into the pdf document
This area has not been implemented yet since the appropriate
method in batik is static
</li>
<li>
Uniform transparency for images and other svg elements that are converted
into a raster graphic are not drawn properly in PDF. The image is opaque.
</li>
</ul>
</p>
</section>
<section>
<title>Developer Notes</title>
<p>
For most output formats in FOP the SVG is simply drawn into
an image with Batik.
For PDF there are a set of classes to handle drawing the
<link href="http://xml.apache.org/batik/architecture.html">GVT (Graphic Vector Toolkit)</link>
into PDF markup.
</p>
<section>
<title>Classes</title>
<p>
These are the relevant classes, found in the package org.apache.fop.svg :
</p>
<p>
<ul>
<li><em>PDFGraphics2D</em>
<br/>
used for drawing onto a Graphics2D into an existing pdf document, used
internally to draw the svg.
</li>
<li><em>PDFDocumentGraphics2D</em>
<br/>
used to create a pdf document and inherits from PDFGraphics2D to do the
rest of the drawing. Used by the transcoder to create a standalone pdf
document from an svg. Can be used independantly the same as any Graphics2D.
</li>
<li><em>PDFTranscoder</em>
<br/>
used by Batik to transcode an svg document into a standalone pdf, via
PDFDocumentGraphics2D.
</li>
</ul>
</p>
</section>
<section>
<title>Ideas</title>
<p>
Batik can convert ttf to svg font.
This svg font could be converted into a pdf stroked font
(type 3 font).
</p>
</section>
</section>
</body>
</document>

+ 41
- 0
src/documentation/content/xdocs/dev/svg/images.svg Dosyayı Görüntüle

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<svg width="400" height="400" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

<g>

<text x="20" y="20" style="font-size:18">Images in SVG</text>

<text x="20" y="35" style="font-size:12">Jpeg</text>
<image x="30" y="55" width="100" height="80" xlink:href="logo.jpg"/>
</g>

<text x="20" y="160" style="font-size:12">Effect or Bitmap</text>
<g>
<defs>
<filter id="Turb1" filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%">
<feTurbulence type="fractalNoise" baseFrequency="0.1" numOctaves="1"/>
</filter>
<filter id="Turb2" filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%">
<feTurbulence type="fractalNoise" baseFrequency="0.15" numOctaves="1"/>
</filter>
</defs>
<rect x="25" y="165" width="100" height="75" style="filter:url(#Turb1)" />


<text x="20" y="255" style="font-size:12">Transparency</text>
<rect x="20" y="260" width="40" height="35" style="fill:blue" />
<text x="60" y="305" style="font-size:20;font-weight:bold">SEE</text>
<rect x="25" y="265" width="100" height="75" style="filter:url(#Turb2)" />


<text x="200" y="35" style="font-size:12">Scaled</text>
<g transform="scale(4)">
<rect x="55" y="15" width="25" height="18.75" style="filter:url(#Turb1)" />
</g>

</g>

</svg>


+ 30
- 0
src/documentation/content/xdocs/dev/svg/link.svg Dosyayı Görüntüle

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<svg width="400" height="400" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

<g>

<a xlink:href="#svgView(viewBox(110,110,80,80))">
<rect x="10" y="10" width="80" height="80" style="fill:darkred;stroke:black;stroke-width:3"/>
<text x="15" y="60" style="font-size:18;fill:green">GREEN</text>
</a>

<a xlink:href="http://xml.apache.org/fop/">
<rect x="110" y="10" width="80" height="80" style="fill:lightblue;stroke:black;stroke-width:3"/>
<text x="130" y="60" style="font-size:18;fill:blue">FOP</text>
</a>

<a xlink:href="images.svg#svgView(viewBox(0,0,200,200))">
<rect x="10" y="110" width="80" height="80" style="fill:yellow;stroke:black;stroke-width:3"/>
<text x="20" y="150" style="font-size:14;fill:purple">Another</text>
<text x="35" y="165" style="font-size:14;fill:purple">file</text>
</a>

<a xlink:href="#svgView(viewBox(10,10,80,80))">
<rect x="110" y="110" width="80" height="80" style="fill:darkgreen;stroke:black;stroke-width:3"/>
<text x="130" y="160" style="font-size:18;fill:red">RED</text>
</a>

</g>

</svg>


+ 83
- 0
src/documentation/content/xdocs/dev/svg/paints.svg Dosyayı Görüntüle

@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<svg width="400" height="400" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

<g>

<text x="20" y="20" style="font-size:18">Paints - Patterns &amp; Gradients</text>

<text x="10" y="35" style="font-size:12">Gradient</text>

<defs>
<linearGradient id="grad1" x1="0" y1="0" x2="1" y2="0">
<stop offset="0" style="stop-color:crimson" />
<stop offset="1" style="stop-color:gold" />
</linearGradient>
<linearGradient id="grad2" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" style="stop-color:crimson" />
<stop offset="0.4" style="stop-color:purple" />
<stop offset="1" style="stop-color:gold" />
</linearGradient>
<linearGradient id="grad3" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" style="stop-color:crimson" />
<stop offset="0.7" style="stop-color:blue" />
<stop offset="1" style="stop-color:gold" />
</linearGradient>
<radialGradient id="rad"
fx="20%" fy="30%" rx="10%" ry="30%" r="40%">
<stop offset="0" stop-color="gold" />
<stop offset="1" stop-color="green" stop-opacity="0.4"/>
</radialGradient>
</defs>
<rect x="15" y="40" width="100" height="75" style="fill:url(#grad1)" />
<rect x="15" y="117.5" width="100" height="75" style="fill:url(#grad2)" />
<rect x="15" y="195" width="100" height="75" style="fill:url(#grad3)" />
<rect x="15" y="275" width="100" height="75" style="fill:url(#rad)" />

<text x="120" y="35" style="font-size:12">Pattern</text>

<defs>
<pattern id="pat1" x="0" y="0" width=".75" height="50%">
<circle cx="10" cy="10" r="10" style="fill:red" />
<rect x="10" y="10" width="15" height="15" style="fill:green"/>
</pattern>
<pattern id="pat2" x="0" y="0" width=".2" height="50%">
<circle cx="10" cy="10" r="10" style="fill:red" />
<rect x="10" y="10" width="15" height="15" style="fill:green"/>
</pattern>
<pattern id="pat3" x="0" y="0" width=".3" height="50%" patternTransform="matrix(1, 0.3, -0.5, 1, 5, 10)">
<circle cx="10" cy="10" r="10" style="fill:red" />
<rect x="10" y="10" width="15" height="15" style="fill:green"/>
<text x="5" y="10" style="font-size:10">Patt</text>
</pattern>
<pattern id="see" x="0" y="0" width="25" height="25" patternUnits="userSpaceOnUse">
<circle cx="10" cy="10" r="10" style="fill:red" />
<rect x="10" y="10" width="15" height="15" style="fill:green;fill-opacity:0.5"/>
</pattern>
</defs>
<rect x="125" y="40" width="100" height="75" style="fill:url(#pat1)" />
<rect x="125" y="117.5" width="100" height="75" style="fill:url(#pat2)" />
<rect x="125" y="195" width="100" height="75" style="fill:url(#pat3)" />
<rect x="125" y="275" width="100" height="75" style="fill:url(#see)" />

<defs>
<pattern id="patgrad1" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse">
<circle cx="10" cy="10" r="10" style="fill:url(#grad1)" />
</pattern>
<pattern id="patpat2" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse">
<circle cx="10" cy="10" r="10" style="fill:url(#pat2)" />
</pattern>
<pattern id="patimage3" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse">
<image x="0" y="0" width="10" height="10" xlink:href="logo.jpg"/>
</pattern>
</defs>

<text x="230" y="35" style="font-size:12">Pattern in Pattern</text>

<rect x="235" y="40" width="100" height="75" style="fill:url(#patgrad1)" />
<rect x="235" y="117.5" width="100" height="75" style="fill:url(#patpat2)" />
<rect x="235" y="195" width="100" height="75" style="fill:url(#patimage3)" />

</g>

</svg>


+ 131
- 0
src/documentation/content/xdocs/dev/svg/text.svg Dosyayı Görüntüle

@@ -0,0 +1,131 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<svg width="400" height="400" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

<g>

<text x="15" y="20" style="font-size:18">Various Text Elements</text>

<text x="15" y="40" style="font-size:12;font-family:Helvetica">Normal Text in Helvetica,</text>
<text x="152" y="40" style="font-size:12;font-family:Symbol">Symbol,</text>
<text x="199" y="40" style="font-size:12;font-family:blah">Unknown,</text>
<text x="257" y="40" style="font-size:12;font-family:Courier">Courier,</text>
<text x="318" y="40" style="font-size:12;font-family:Arial">Arial</text>

<g transform="translate(15,55) scale(0.25)">
<text x="0" y="0" style="font-size:40">Large Text (scaled)</text>
</g>
<text x="120" y="55" style="font-size:10">Normal Text (unscaled)</text>

<text x="15" y="70" style="font-size:12.5">fractional Text</text>

<text x="15" y="85" style="font-size:12;fill:red">Coloured Text</text>
<text x="15" y="100" style="font-size:12;fill:none;stroke:red;stroke-width:0.4">Stroked Text</text>
<text x="15" y="115" style="font-size:12;fill:blue;stroke:red;stroke-width:0.4">Stroked/Filled Text</text>
<text x="15" y="130" style="font-size:12" text-decoration="overline">Overline Text</text>
<text x="15" y="145" style="font-size:12" text-decoration="underline">Underline Text</text>
<text x="15" y="160" style="font-size:12" text-decoration="line-through">Strikethrough Text</text>

<text x="15" y="185" style="font-size:12">Text <tspan fill="blue" dy="-10">with</tspan> <tspan fill="green" dy="20">tspan</tspan></text>

<defs>
<path id="Path2" style="fill:none; stroke:blue;" transform="scale(0.15,0.15)"
d="M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100"/>
<path id="Path1" style="fill:none; stroke:blue;" transform="scale(0.30,0.50)"
d="M 100 100 C100 0 400 00 400 100"/>

</defs>

<text transform="translate(20, 220)" font-size="15">
<textPath xlink:href="#Path2"><tspan baseline-shift="super" fill="green">super</tspan> and <tspan baseline-shift="sub" fill="red">sub</tspan>scripts</textPath>
</text>

<g transform="translate(150, 200)" style="font-weight:bold" id="fopdiamond">
<text transform="matrix(-0.34202 -0.93969 0.93969 -0.34202 47 45)">FOP</text>
<text transform="matrix(0.34202 0.93969 -0.93969 0.34202 44 7)">FOP</text>
<text transform="matrix(-0.34202 0.93969 -0.93969 -0.34202 52 23)">FOP</text>
<text transform="matrix(0.34202 -0.93969 0.93969 0.34202 38 28)">FOP</text>
</g>

<g>
<filter id="blur" filterUnits="objectBoundingBox" primitiveUnits="objectBoundingBox" x="-20%" y="-20%" width="120%" height="120%" >
<feGaussianBlur stdDeviation="2 2" x="-10%" y="-10%" width="120%" height="120%" />
</filter>

<text x="15" y="290" style="font-size:16;filter:url(#blur)">Filtered Text</text>
</g>

<g>
<font horiz-adv-x="150" id="Batik">
<font-face
font-family="FOPFont"
units-per-em="240"
ascent="190"
descent="50"
alphabetic="0"/>

<missing-glyph horiz-adv-x="150" d="M20 0 V240 H100 V0 z"/>

<glyph unicode=" " glyph-name=" " horiz-adv-x="100"/>

<glyph unicode="F" glyph-name="F" horiz-adv-x="190">
<g transform="scale(1.5, -1.5) translate(0, -130)">
<g style="stroke:black;stroke-width:8">
<line x1="5" y1="20" x2="125" y2="20"/>
<line x1="5" y1="40" x2="40" y2="40"/>
<line x1="5" y1="60" x2="100" y2="60"/>
<line x1="5" y1="85" x2="40" y2="85"/>
<line x1="5" y1="110" x2="40" y2="110"/>
</g>
</g>
</glyph>

<glyph unicode="O" glyph-name="o" horiz-adv-x="185">
<g transform="scale(1.5, -1.5) translate(0, -130)">
<g style="stroke:black;stroke-width:8">
<line x1="50" y1="30" x2="80" y2="30"/>
<line x1="30" y1="45" x2="100" y2="45"/>
<line x1="20" y1="60" x2="110" y2="60"/>
<line x1="30" y1="80" x2="100" y2="80"/>
<line x1="50" y1="100" x2="80" y2="100"/>
</g>
</g>
</glyph>

<glyph unicode="P" glyph-name="p" horiz-adv-x="210">
<g transform="scale(1.5, -1.5) translate(0, -130)">
<g style="stroke:black;stroke-width:8">
<line x1="5" y1="20" x2="110" y2="20"/>
<line x1="5" y1="40" x2="40" y2="40"/>
<line x1="90" y1="40" x2="120" y2="40"/>
<line x1="5" y1="60" x2="105" y2="60"/>
<line x1="5" y1="85" x2="40" y2="85"/>
<line x1="5" y1="110" x2="40" y2="110"/>
</g>
</g>
</glyph>

<hkern g1="F" g2="O" k="5"/>
<hkern g1="O" g2="P" k="4"/>
</font>

<text x="15" y="310" font-family="FOPFont" font-size="12">FOP in FOPfont</text>
</g>

<text x="130" y="80" writing-mode="tb" font-size="12">vertical</text>
<text x="140" y="80" writing-mode="tb" glyph-orientation-vertical="0deg" font-size="12">vertical</text>
<text x="150" y="80" glyph-orientation-horizontal="90deg" font-size="12">orientated text</text>

<text x="150" y="95" font-stretch="narrower" font-size="12">stretched font</text>

<text x="150" y="110" letter-spacing="5" font-size="12">spaced letters</text>

<text x="150" y="125" word-spacing="3pt" font-size="12">spaced words</text>



<!-- empty element -->
<text/>
</g>

</svg>


+ 48
- 0
src/documentation/content/xdocs/dev/svg/transparency.svg Dosyayı Görüntüle

@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<svg width="400" height="400" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

<g>

<text x="20" y="20" style="font-size:18">Transparency in SVG (to PDF)</text>

<text x="20" y="35" style="font-size:12">Shapes</text>
<rect x="30" y="55" width="100" height="80" style="fill:green;stroke:blue;stroke-width:3;fill-opacity:0.5;stroke-opacity:0.6"/>
<rect x="80" y="95" width="100" height="80" style="fill:red;stroke:yellow;stroke-width:3;fill-opacity:0.5"/>


</g>

<g>
<defs>
<filter id="Turb" filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%">
<feTurbulence type="fractalNoise" baseFrequency="0.1" numOctaves="1"/>
</filter>
</defs>

<text x="20" y="205" style="font-size:12">Image</text>
<rect x="20" y="210" width="40" height="35" style="fill:blue" />
<text x="60" y="255" style="font-size:20;font-weight:bold">SEE</text>
<rect x="25" y="215" width="100" height="75" style="filter:url(#Turb)" />


</g>

<text x="220" y="35" style="font-size:12">Text</text>
<rect x="240" y="55" width="130" height="50" style="fill:blue"/>
<text x="280" y="75" style="font-size:20;font-weight:bold;fill-opacity:0.6;fill:green">SEE</text>
<text x="250" y="95" style="font-size:20;font-weight:bold;fill-opacity:0.4;fill:orange;stroke:red">THROUGH</text>

<text x="220" y="205" style="font-size:12">Uniform Image Transparency</text>
<defs>
<filter id="matrixGreen" filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%">
<feTurbulence type="turbulence" baseFrequency="0.05" numOctaves="2" stitchTiles="noStitch" seed="0" result="turb"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1" />
</filter>
</defs>
<rect x="240" y="225" width="100" height="75" style="opacity:0.4;filter:url(#matrixGreen)" />


</svg>


+ 14
- 0
src/documentation/content/xdocs/index.xml Dosyayı Görüntüle

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
<document>
<header>
<title>FOP</title>
</header>
<body>
<section>
<title>Introduction</title>
<p>
</p>
</section>
</body>
</document>

+ 12
- 0
src/documentation/content/xdocs/tabs.xml Dosyayı Görüntüle

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tabs PUBLIC "-//APACHE//DTD Cocoon Documentation Tab V1.0//EN" "tab-cocoon-v10.dtd">

<tabs software="MyProj"
title="MyProj"
copyright="Foo"
xmlns:xlink="http://www.w3.org/1999/xlink">

<tab label="Home" dir=""/>
<tab label="dev" dir="dev/"/>

</tabs>

BIN
src/documentation/resources/images/group-logo.gif Dosyayı Görüntüle


BIN
src/documentation/resources/images/logo.jpg Dosyayı Görüntüle


+ 527
- 0
src/documentation/sitemap.xmap Dosyayı Görüntüle

@@ -0,0 +1,527 @@
<?xml version="1.0"?>

<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">

<!-- =========================== Components ================================ -->

<map:components>

<map:generators default="file">
<map:generator name="file" src="org.apache.cocoon.generation.FileGenerator" label="content"/>
<map:generator name="directory" src="org.apache.cocoon.generation.DirectoryGenerator" label="content"/>
<map:generator name="html" src="org.apache.cocoon.generation.HTMLGenerator" label="content"/>
<map:generator name="libre" src="org.outerj.yer.use.cocoon.HierarchyGenerator" label="content"/>
<map:generator name="nekodtd" src="org.apache.forrest.components.generator.XNIConfigurableFileGenerator" label="content"/>
<!-- FIXME: Change this once better view handling is implemented -->
<map:generator name="file-nolabel" src="org.apache.cocoon.generation.FileGenerator"/>
</map:generators>

<map:transformers default="xslt">
<!--
<map:transformer name="xslt" src="org.apache.cocoon.transformation.TraxTransformer">
<use-request-parameters>false</use-request-parameters>
<use-browser-capabilities-db>false</use-browser-capabilities-db>
</map:transformer>
-->
<map:transformer name="xslt" src="org.apache.cocoon.transformation.TraxTransformer"
logger="sitemap.transformer.xsltc"
pool-max="32" pool-min="8" pool-grow="2">
<use-request-parameters>false</use-request-parameters>
<use-browser-capabilities-db>false</use-browser-capabilities-db>
<use-deli>false</use-deli>
<!-- transformer-factory>com.icl.saxon.TransformerFactoryImpl</transformer-factory -->
<!-- transformer-factory>org.apache.xalan.xsltc.trax.TransformerFactoryImpl</transformer-factory -->
</map:transformer>
</map:transformers>
<map:readers default="resource">
<map:reader name="resource" src="org.apache.cocoon.reading.ResourceReader"/>
</map:readers>

<map:serializers default="html">
<map:serializer name="html" mime-type="text/html" src="org.apache.cocoon.serialization.HTMLSerializer">
<doctype-public>-//W3C//DTD HTML 4.01 Transitional//EN</doctype-public>
<encoding>ISO-8859-1</encoding>
</map:serializer>

<map:serializer name="xml" mime-type="text/xml" src="org.apache.cocoon.serialization.XMLSerializer">
<encoding>ISO-8859-1</encoding>
</map:serializer>

<map:serializer name="fo2pdf"
src="org.apache.cocoon.serialization.FOPSerializer"
mime-type="application/pdf"/>


<map:serializer name="links" src="org.apache.cocoon.serialization.LinkSerializer">
<encoding>ISO-8859-1</encoding>
</map:serializer>
<map:serializer name="svg2jpeg" mime-type="image/jpeg" src="org.apache.cocoon.serialization.SVGSerializer">
<parameter name="quality" type="float" value="1.0"/>
</map:serializer>
<map:serializer name="svg2png" mime-type="image/png" src="org.apache.cocoon.serialization.SVGSerializer"/>
</map:serializers>

<map:matchers default="wildcard">
<map:matcher name="wildcard" src="org.apache.cocoon.matching.WildcardURIMatcher"/>
</map:matchers>
<!--
<map:selectors default="skin-parameter">
<map:selector name="request-parameter" logger="sitemap.selector.request-parameter"
src="org.apache.cocoon.selection.RequestParameterSelector">
<parameter-name>skin</parameter-name>
</map:selector>
<map:selector name="style-parameter" logger="sitemap.selector.request-parameter"
src="org.apache.cocoon.selection.RequestParameterSelector">
<parameter-name>style</parameter-name>
</map:selector>

</map:selectors>
-->
<!--map:actions>
<map:action logger="sitemap.action.request" name="request" src="org.apache.cocoon.acting.RequestParamAction"/>
</map:actions-->

<!--
The different pipeline implementations
-->
<map:pipelines default="caching">
<map:pipeline name="caching" src="org.apache.cocoon.components.pipeline.impl.CachingProcessingPipeline"/>
<map:pipeline name="noncaching" src="org.apache.cocoon.components.pipeline.impl.NonCachingProcessingPipeline"/>
<!-- The following two can be used for profiling:
<map:pipeline name="profile-caching" src="org.apache.cocoon.components.profiler.ProfilingCachingProcessingPipeline"/>
<map:pipeline name="profile-noncaching" src="org.apache.cocoon.components.profiler.ProfilingNonCachingProcessingPipeline"/>
-->
</map:pipelines>
</map:components>

<!-- =========================== Views =================================== -->

<map:views>
<map:view name="content" from-label="content">
<map:serialize type="xml"/>
</map:view>

<map:view name="links" from-position="last">
<map:transform src="library/xslt/filterlinks.xsl"/>
<map:serialize type="links"/>
</map:view>
</map:views>

<map:resources>
<map:resource name="skinit">
<map:transform src="skins/{defaults:skin}/xslt/html/{type}.xsl">
<map:parameter name="isfaq" value="{isfaq}"/>
<map:parameter name="dir" value="{dir}"/>
<map:parameter name="resource" value="{resource}"/>
<!-- Can set an alternative project skinconfig here
<map:parameter name="config-file" value="../../../../skinconf.xml"/>
-->
</map:transform>
<map:serialize/>
</map:resource>

<map:resource name="book">
<map:generate src="content/xdocs/{../1}book.xml"/>
<map:call resource="skinit">
<map:parameter name="type" value="book2menu"/>
<map:parameter name="resource" value="{resource}.html"/>
</map:call>
</map:resource>

<map:resource name="skin-read">
<map:read src="skins/{defaults:skin}/{path}" mime-type="{mime-type}"/>
</map:resource>

</map:resources>

<!-- =========================== Pipelines ================================= -->

<map:pipelines>

<map:pipeline>

<!-- ========================== FOP Additions ========================== -->

<map:match pattern="*/svg/*.svg">
<map:read src="content/xdocs/{1}/svg/{2}.svg" mime-type="image/svg"/>
</map:match>
<map:match pattern="*/svg/*.png">
<map:generate src="content/xdocs/{1}/svg/{2}.svg"/>
<map:serialize type="svg2png"/>
</map:match>
<!--
this matcher causes a problem??
<map:match pattern="*/svg/*.pdf">
<map:generate src="content/xdocs/{1}/svg/{2}.svg"/>
<map:serialize type="svg2pdf"/>
</map:match>
-->

<map:match pattern="*/fo/*.fo">
<map:read src="content/xdocs/{1}/fo/{2}.fo" mime-type="text/xml"/>
</map:match>
<map:match pattern="*/fo/*.fo.pdf">
<map:generate src="content/xdocs/{1}/fo/{2}.fo"/>
<map:serialize type="fo2pdf"/>
</map:match>

<!-- ======================= End FOP Additions ======================== -->

<map:match pattern="">
<map:redirect-to uri="index.html"/>
</map:match>

<map:match pattern="apachestats">
<map:generate type="html"
src="http://www.apache.org/~rubys/stats/xml.apache.org/">
<map:parameter name="xpath"
value="/html/body//a[contains(@href,'.xml')]"/>
</map:generate>
<map:serialize type="xml"/>
</map:match>

<map:match pattern="**tab-**.xml">
<map:generate src="content/xdocs/tabs.xml"/>
<map:call resource="skinit">
<map:parameter name="type" value="tab2menu"/>
<map:parameter name="resource" value="{1}"/>
<map:parameter name="dir" value="{1}/"/>
</map:call>
</map:match>

<map:match pattern="**book-**/*.xml">
<map:call resource="book">
<map:parameter name="resource" value="{3}"/>
</map:call>
</map:match>

<map:match pattern="**book-**.xml">
<map:call resource="book">
<map:parameter name="resource" value="{2}"/>
</map:call>
</map:match>

<map:match pattern="body-todo.xml">
<map:generate type="file-nolabel" src="status.xml"/>
<map:transform src="library/xslt/todo2document.xsl" label="content"/>
<map:call resource="skinit">
<map:parameter name="type" value="document2html"/>
<map:parameter name="resource" value="todo"/>
<map:parameter name="dir" value=""/>
</map:call>
</map:match>

<map:match pattern="body-changes.xml">
<map:generate type="file-nolabel" src="status.xml"/>
<map:transform src="library/xslt/changes2document.xsl" label="content"/>
<map:call resource="skinit">
<map:parameter name="type" value="document2html"/>
<map:parameter name="resource" value="changes"/>
<map:parameter name="dir" value=""/>
</map:call>
</map:match>

<map:match pattern="body-faq.xml">
<map:generate type="file-nolabel" src="content/xdocs/faq.xml"/>
<map:transform src="library/xslt/faq2document.xsl" label="content"/>
<map:call resource="skinit">
<map:parameter name="type" value="document2html"/>
<map:parameter name="resource" value="faq"/>
<map:parameter name="dir" value=""/>
<map:parameter name="isfaq" value="true"/>

</map:call>
</map:match>


<!-- Redirect requests for community/ (eg in the trail) to the home page -->
<map:match pattern="community/index.html">
<map:redirect-to uri="../index.html"/>
</map:match>

<!-- index pages for contribution categories -->
<map:match pattern="body-community/*/index.xml">
<map:generate src="content/xdocs/community/{1}/index.xml"/>
<map:call resource="skinit">
<map:parameter name="type" value="document2html"/>
<map:parameter name="resource" value="{1}"/>
<map:parameter name="dir" value="community/{1}/"/>
</map:call>
</map:match>

<!-- no special transformation, yet, for revision pages -->
<map:match pattern="body-community**revision-*.xml">
<map:generate src="content/xdocs/community{1}revision-{2}.xml"/>
<map:call resource="skinit">
<map:parameter name="type" value="document2html"/>
<map:parameter name="resource" value="{1}"/>
<map:parameter name="dir" value="community/{1}/"/>
</map:call>
</map:match>

<!-- all contribution docs -->
<map:match pattern="body-community/*/*/**.xml">
<map:aggregate element="all" >
<map:part src="content/xdocs/community/{1}/{2}/{3}.xml"/>
<map:part src="cocoon:/revisions-community/{1}/{2}/{3}" />
</map:aggregate>
<map:transform src="library/xslt/{1}2document.xsl" label="content"/>
<map:call resource="skinit">
<map:parameter name="type" value="document2html"/>
<map:parameter name="resource" value="{3}"/>
<map:parameter name="dir" value="community/{1}/{2}/"/>
</map:call>
</map:match>

<!-- revisions only implemented for community pages -->
<map:match pattern="revisions-community/*/*/**">
<map:generate type="directory" src="content/xdocs/community/{1}/{2}">
<map:parameter name="dateFormat" value="yyyy-MM-dd hh:mm" />
</map:generate>
<map:transform src="library/xslt/directory2revisions.xsl" label="content" >
<map:parameter name="use-request-parameters" value="true"/>
<map:parameter name="page" value="{3}"/>
</map:transform>
<map:serialize type="xml" />
</map:match>

<!-- Any other howto directories get transformed, without revisions -->
<map:match pattern="body-**howto/*.xml">
<map:generate src="content/xdocs/{1}howto/{2}.xml"/>
<map:transform src="library/xslt/howto2document.xsl" label="content"/>
<map:call resource="skinit">
<map:parameter name="type" value="document2html"/>
<map:parameter name="resource" value="{3}"/>
<map:parameter name="dir" value="{1}howto/"/>
</map:call>
</map:match>


<!-- Generate the "doclist" - list of all documentation
The first match generates each book.xml and adds a new attribute "uri".
The second match aggregates each book.xml into a doclist and
then converts it to a document.
-->
<map:match pattern="doclist/content/xdocs/**book.xml">
<map:generate src="content/xdocs/{1}book.xml"/>
<map:transform src="library/xslt/doclist.xsl">
<map:parameter name="uri" value="{1}"/>
</map:transform>
<map:serialize type="xml"/>
</map:match>
<map:match pattern="body-doclist.xml">
<map:aggregate element="doclist">
<map:part src="cocoon:/doclist/content/xdocs/book.xml"/>
<map:part src="cocoon:/doclist/content/xdocs/community/howto/book.xml"/>
</map:aggregate>
<map:transform src="library/xslt/doclist2document.xsl"/>
<map:call resource="skinit">
<map:parameter name="type" value="document2html"/>
<map:parameter name="dir" value="community/{1}/{2}/"/>
</map:call>
</map:match>

<!-- HTML DTD Documentation generation pipeline, makes use of NekoDTD tool -->

<map:match pattern="body-**.dtdx.xml">
<map:generate type="nekodtd" src="resources/schema/dtd/{1}.dtd">
<map:parameter name="config-class" value="org.cyberneko.dtd.DTDConfiguration" />
</map:generate>
<map:transform src="library/xslt/dtdx2flat.xsl"/>
<map:transform src="library/xslt/flat2document.xsl"/>
<map:call resource="skinit">
<map:parameter name="type" value="document2html"/>
<map:parameter name="isfaq" value="true"/>
<map:parameter name="resource" value="{1}.dtdx"/>
<map:parameter name="dir" value="{1}"/>
</map:call>
</map:match>

<map:match pattern="body-**.xml">
<map:generate src="content/xdocs/{1}.xml"/>
<map:call resource="skinit">
<map:parameter name="type" value="document2html"/>
<map:parameter name="resource" value="{1}"/>
<map:parameter name="dir" value="{1}"/>
</map:call>
</map:match>

<map:match pattern="*.html">
<map:aggregate element="site">
<map:part src="cocoon:/book-{1}.xml"/>
<map:part src="cocoon:/tab-{1}.xml"/>
<map:part src="cocoon:/body-{1}.xml" label="content"/>
</map:aggregate>
<map:call resource="skinit">
<map:parameter name="type" value="site2xhtml"/>
<map:parameter name="dir" value=""/>
<map:parameter name="resource" value="{0}"/>
</map:call>
</map:match>

<map:match pattern="**/*.html">
<map:aggregate element="site">
<map:part src="cocoon:/{1}/book-{1}/{2}.xml"/>
<map:part src="cocoon:/{1}/tab-{1}/{2}.xml"/>
<map:part src="cocoon:/body-{1}/{2}.xml" label="content"/>
</map:aggregate>
<map:call resource="skinit">
<map:parameter name="type" value="site2xhtml"/>
<map:parameter name="dir" value="{1}/"/>
<map:parameter name="resource" value="{0}"/>
</map:call>
</map:match>

<map:match pattern="*.dtdx.pdf">
<map:generate type="nekodtd" src="resources/schema/dtd/{1}.dtd">
<map:parameter name="config-class" value="org.cyberneko.dtd.DTDConfiguration" />
</map:generate>
<map:transform src="library/xslt/dtdx2flat.xsl"/>
<map:transform src="library/xslt/flat2document.xsl"/>
<map:transform src="skins/{defaults:skin}/xslt/fo/document2fo.xsl"/>
<map:serialize type="fo2pdf"/>
</map:match>

<map:match pattern="**/*.dtdx.pdf">
<map:generate type="nekodtd" src="resources/schema/dtd/{2}.dtd">
<map:parameter name="config-class" value="org.cyberneko.dtd.DTDConfiguration" />
</map:generate>
<map:transform src="library/xslt/dtdx2flat.xsl"/>
<map:transform src="library/xslt/flat2document.xsl"/>
<map:transform src="skins/{defaults:skin}/xslt/fo/document2fo.xsl"/>
<map:serialize type="fo2pdf"/>
</map:match>

<map:match pattern="changes.pdf">
<map:generate type="file-nolabel" src="status.xml"/>
<map:transform src="library/xslt/changes2document.xsl" label="content"/>
<map:transform src="skins/forrest-site/xslt/fo/document2fo.xsl"/>
<map:serialize type="fo2pdf"/>
</map:match>

<map:match pattern="todo.pdf">
<map:generate type="file-nolabel" src="status.xml"/>
<map:transform src="library/xslt/todo2document.xsl" label="content"/>
<map:transform src="skins/forrest-site/xslt/fo/document2fo.xsl"/>
<map:serialize type="fo2pdf"/>
</map:match>

<map:match pattern="faq.pdf">
<map:generate type="file-nolabel" src="content/xdocs/faq.xml"/>
<map:transform src="library/xslt/faq2document.xsl" label="content"/>
<map:transform src="skins/forrest-site/xslt/fo/document2fo.xsl"/>
<map:serialize type="fo2pdf"/>
</map:match>

<map:match pattern="*.pdf">
<map:generate src="content/xdocs/{1}.xml"/>
<map:transform src="skins/{defaults:skin}/xslt/fo/document2fo.xsl"/>
<map:serialize type="fo2pdf"/>
</map:match>

<map:match pattern="**/*.pdf">
<map:generate src="{1}/{2}.xml"/>
<map:transform src="skins/{defaults:skin}/xslt/fo/document2fo.xsl"/>
<map:serialize type="fo2pdf"/>
</map:match>

<!-- ================ Directory redirects =========================== -->
<!-- Redirect any request for a directory to the directory's index.html file -->
<map:match pattern="**/">
<map:redirect-to uri="{context:context}/{1}/index.html"/>
</map:match>

<!-- ================ Libre =========================== -->

<map:match pattern="libre">
<map:generate type="libre" src="content/xdocs" >
<map:parameter name="depth" value="-1" />
</map:generate>
<map:serialize type="xml"/>
</map:match>

<!-- ================ Static =========================== -->

<map:match pattern="skin/**.js">
<map:call resource="skin-read">
<map:parameter name="path" value="scripts/{1}.js"/>
<map:parameter name="mime-type" value="application/javascript"/>
</map:call>
</map:match>

<map:match pattern="**/skin/**.js">
<map:call resource="skin-read">
<map:parameter name="path" value="scripts/{2}.js"/>
<map:parameter name="mime-type" value="application/javascript"/>
</map:call>
</map:match>

<map:match pattern="**.js">
<map:read src="resources/scripts/{1}.js" mime-type="application/javascript"/>
</map:match>

<map:match pattern="skin/**.css">
<map:call resource="skin-read">
<map:parameter name="path" value="css/{1}.css"/>
<map:parameter name="mime-type" value="text/css"/>
</map:call>
</map:match>

<map:match pattern="**/skin/**.css">
<map:call resource="skin-read">
<map:parameter name="path" value="css/{2}.css"/>
<map:parameter name="mime-type" value="text/css"/>
</map:call>
</map:match>

<map:match pattern="**.css">
<map:read src="resources/css/{1}.css" mime-type="text/css"/>
</map:match>

<map:match pattern="skin/images/**.*">
<map:call resource="skin-read">
<map:parameter name="path" value="images/{1}.{2}"/>
<map:parameter name="mime-type" value="image/{2}"/>
</map:call>
</map:match>

<!-- WARNING: You are strongly advised not to make use of this target, as it
leads to browsers having to cache multiple copies of the images, one per
directory. See the forrest-site skin XSLTs for an example of how to make
all image references use the 'skin/images/**.*' rule above -->
<map:match pattern="**/skin/images/**.*">
<map:call resource="skin-read">
<map:parameter name="path" value="images/{2}.{3}"/>
<map:parameter name="mime-type" value="image/{3}"/>
</map:call>
</map:match>

<!-- DS: handles images local to a contributor directory -->
<map:match pattern="**my-images/**.*">
<map:read src="content/xdocs/{1}my-images/{2}.{3}" mime-type="image/{3}"/>
</map:match>

<map:match pattern="images/**.*">
<map:read src="resources/images/{1}.{2}" mime-type="image/{2}"/>
</map:match>

<!-- WARNING: See above: this target should not be made use of -->
<map:match pattern="**/images/**.*">
<map:read src="resources/images/{2}.{3}" mime-type="image/{3}"/>
</map:match>


<map:match pattern="**favicon.ico">
<map:call resource="skin-read">
<map:parameter name="path" value="images/favicon.ico"/>
<map:parameter name="mime-type" value="image/x-ico"/>
</map:call>
</map:match>

</map:pipeline>
</map:pipelines>

</map:sitemap>


+ 93
- 0
src/documentation/skinconf.xml Dosyayı Görüntüle

@@ -0,0 +1,93 @@
<?xml version="1.0"?>

<!--
Skin configuration file. This file contains details of your project, which will
be used to configure the chosen Forrest skin.

jefft@apache.org
-->

<!DOCTYPE skinconfig [

<!ENTITY % links.att 'name CDATA #REQUIRED'>
<!ENTITY % link.att 'name CDATA #REQUIRED href CDATA #REQUIRED'>
<!ELEMENT skinconfig (disable-search?, searchsite-domain?, searchsite-name?, project-name, project-url, project-logo, group-name?, group-url?, group-logo?, host-logo?, year?, vendor?, trail?, credits?)*>
<!ELEMENT credits (credit*)>
<!ELEMENT credit (name, url, image, width?, height?)>
<!ELEMENT disable-search (#PCDATA)>
<!ELEMENT searchsite-domain (#PCDATA)>
<!ELEMENT searchsite-name (#PCDATA)>
<!ELEMENT project-name (#PCDATA)>
<!ELEMENT project-url (#PCDATA)>
<!ELEMENT project-logo (#PCDATA)>
<!ELEMENT group-name (#PCDATA)>
<!ELEMENT group-url (#PCDATA)>
<!ELEMENT group-logo (#PCDATA)>
<!ELEMENT host-logo (#PCDATA)>
<!ELEMENT year (#PCDATA)>
<!ELEMENT vendor (#PCDATA)>
<!ELEMENT trail (link1, link2, link3)>
<!ELEMENT link1 EMPTY>
<!-- Seems we can't use param entity refs until this is DTDified -->
<!ATTLIST link1 name CDATA #REQUIRED href CDATA #IMPLIED>
<!ELEMENT link2 EMPTY>
<!ATTLIST link2 name CDATA #REQUIRED href CDATA #IMPLIED>
<!ELEMENT link3 EMPTY>
<!ATTLIST link3 name CDATA #REQUIRED href CDATA #IMPLIED>
<!ELEMENT name (#PCDATA)>
<!ELEMENT url (#PCDATA)>
<!ELEMENT image (#PCDATA)>
<!ELEMENT width (#PCDATA)>
<!ELEMENT height (#PCDATA)>
]>

<skinconfig>
<!-- Do we want the Google search box? -->
<disable-search>false</disable-search>
<searchsite-domain>xml.apache.org</searchsite-domain>
<searchsite-name>Apache XML</searchsite-name>


<project-name>FOP</project-name>
<project-url>http://xml.apache.org/fop/</project-url>
<project-logo>images/logo.jpg</project-logo>

<group-name>Apache XML</group-name>
<group-url>http://xml.apache.org/</group-url>
<group-logo>images/group-logo.gif</group-logo>

<!-- Eg, a sourceforge logo. forrest-site renders it to the bottom-left corner -->
<host-logo></host-logo>

<!-- The following used to construct a copyright statement -->
<year>1999-2002</year>
<vendor>The Apache Software Foundation.</vendor>

<!-- Some skins use this to form a 'breadcrumb trail' of links. If you don't
want these, set the attributes to blank. The DTD purposefully requires them.
-->
<trail>
<link1 name="apache" href="http://www.apache.org/"/>
<link2 name="xml.apache" href="http://xml.apache.org/"/>
<link3 name="" href=""/>
</trail>

<!-- Credits are typically rendered as a set of small clickable images in the
page footer -->
<credits>
<credit>
<name>Built with Cocoon</name>
<url>http://xml.apache.org/cocoon/</url>
<image>skin/images/built-with-cocoon.gif</image>
<width>88</width>
<height>31</height>
</credit>
<credit>
<name>Krysalis Centipede</name>
<url>http://www.krysalis.org/centipede/</url>
<image>skin/images/centipede-logo-small.gif</image>
<width>138</width>
<height>31</height>
</credit>
</credits>
</skinconfig>

Loading…
İptal
Kaydet