The xdoc task provides support for document generation.
The XDoc task takes a Theme that is installed in the project system directory, $(project.system}/themes, and invokes two XSLT stylesheets to the documents in the document source directory. There are properties to define which theme to be usedand which the output format to generate. The theme must support the given output format.
The generation occurs in 2 steps. First the navigation.xml files are aggregated. In effect, this means that only the local context of the navigation is required in each directory. This is done by using the nav-aggregate.xsl stylesheet in the theme. In the second step, the content is transformed, using the transform.xsl stylesheet in the theme. See separate documentation for information on how to write a theme.
<x:xdoc/>
Example of the xdoc task output when updating this site:
xdoc: [x:xdoc] Filtered source: F:\dev\avalon\central\site\target\build\xdocs [mkdir] Created dir: F:\dev\avalon\central\site\target\temp\xdocs [x:xdoc] Destination: F:\dev\avalon\central\site\target\docs [mkdir] Created dir: F:\dev\avalon\central\site\target\docs [x:xdoc] Year: 2004 [x:xdoc] Theme: F:\dev\avalon\central\system\themes\modern\html [x:xdoc] Transforming navigation. [copy] Copying 413 files to F:\dev\avalon\central\site\target\temp\xdocs [x:xdoc] Transforming content. [copy] Copying 2 files to F:\dev\avalon\central\site\target\docs [copy] Copying 60 files to F:\dev\avalon\central\site\target\docs
Property | Default | Description |
---|---|---|
${project.organization.name} | The Apache Software Foundation | The name of the organization. Used to create the copyright notice at the bottom of the page. |
${project.target.temp.xdocs} | xdocs | The directory where the documents will be copied prior to its transformation. This is to enable use of filtering. The directory is relative to the general output directory. |
${project.xdocs.src} | xdocs | The directory where the source documents reside. This directory is relative to the general source directory. |
${project.xdocs.resources} | resources | Resources needed, such as images and raw HTML files are placed in this directory. The directory is relative to the general source directory. |
${project.xdoc.theme} | modern | The name of the theme. Themes have to be installed in the project system directory, ${project.system}/themes, and the theme name must exist as a directory there-under. |
${project.xdoc.output.format} | html | The output format of the generated content. The theme must be constructed to support the given output format. modern currently only supports the html format. |
${project.xdoc.logo.left.file} | The logo to be displayed at the top left corner on every page. The theme may or may not use this. | |
${project.xdoc.logo.left.url} | The URL that the top left logo will be linked to. | |
${project.xdoc.logo.middle.file} | The logo to be displayed in the middle at the top on every page. The theme may or may not use this. | |
${project.xdoc.logo.middle.url} | The URL that the top middle logo will be linked to. | |
${project.xdoc.logo.right.file} | The logo to be displayed at the top right corner on every page. The theme may or may not use this. | |
${project.xdoc.logo.right.url} | The URL that the top right logo will be linked to. | |
${project.xdoc.brand.name} | Avalon | The Brand Name is used by the modern theme as the small heading at the top of every page. Below the Brand is the page title, found in the XML file. |
${project.xdoc.anchor.url} | This is the root URL of where the public sources of the documents can be found. This will be used for the XML icon in modern to link the html page to its current source document. |