Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Initial commit of common Spring Data build parent project.

  • Loading branch information...
commit f1196dc11ed9233ea6d4f921da5fc9c82f10e1b5 0 parents
@olivergierke olivergierke authored
Showing with 2,798 additions and 0 deletions.
  1. +10 −0 .gitignore
  2. +73 −0 README.md
  3. +532 −0 parent/pom.xml
  4. +72 −0 pom.xml
  5. +41 −0 resources/pom.xml
  6. +14 −0 resources/src/main/assembly/resources.xml
  7. +30 −0 resources/src/main/resources/assemblies/distribution-multi.xml
  8. +24 −0 resources/src/main/resources/assemblies/distribution-single.xml
  9. +35 −0 resources/src/main/resources/assemblies/resources.xml
  10. +17 −0 resources/src/main/resources/assemblies/site.xml
  11. +35 −0 resources/src/main/resources/docbkx/css/highlight.css
  12. +5 −0 resources/src/main/resources/docbkx/css/manual-multipage.css
  13. +5 −0 resources/src/main/resources/docbkx/css/manual-singlepage.css
  14. +236 −0 resources/src/main/resources/docbkx/css/manual.css
  15. BIN  resources/src/main/resources/docbkx/images/background.png
  16. BIN  resources/src/main/resources/docbkx/images/caution.png
  17. BIN  resources/src/main/resources/docbkx/images/important.png
  18. BIN  resources/src/main/resources/docbkx/images/logo.png
  19. BIN  resources/src/main/resources/docbkx/images/note.png
  20. BIN  resources/src/main/resources/docbkx/images/tip.png
  21. BIN  resources/src/main/resources/docbkx/images/warning.png
  22. +44 −0 resources/src/main/resources/docbkx/legacy/xsl/highlight-fo.xsl
  23. +42 −0 resources/src/main/resources/docbkx/legacy/xsl/highlight.xsl
  24. +107 −0 resources/src/main/resources/docbkx/legacy/xsl/html.xsl
  25. +221 −0 resources/src/main/resources/docbkx/legacy/xsl/html_chunk.xsl
  26. +444 −0 resources/src/main/resources/docbkx/legacy/xsl/pdf.xsl
  27. +41 −0 resources/src/main/resources/docbkx/xsl/common.xsl
  28. +75 −0 resources/src/main/resources/docbkx/xsl/html-multipage.xsl
  29. +32 −0 resources/src/main/resources/docbkx/xsl/html-singlepage.xsl
  30. +117 −0 resources/src/main/resources/docbkx/xsl/html.xsl
  31. +546 −0 resources/src/main/resources/docbkx/xsl/pdf.xsl
10 .gitignore
@@ -0,0 +1,10 @@
+.DS_Store
+*.iml
+*.ipr
+*.iws
+*.orig
+target
+.springBeans
+.settings/
+.project
+.classpath
73 README.md
@@ -0,0 +1,73 @@
+# Spring Data Build Infrastructure
+
+This repository contains common infrastructure to be used by Spring Data modules that build with Maven. It consists of a *resources* project that bundles up resources that are needed during the build like XSLT stylesheets for reference documentation generation and the according CSS and images. The second project is *parent* that can be used as parent project to pre-configure core dependencies, properties, reference documentation generation and most important of all the appropriate distribution assembly.
+
+The parent project can be eased for either a single-module Maven project or a multi-module one. Each of the setups requires a slightly different setup of the project.
+
+## General setup
+
+The parent project configures the following aspects of the project build:
+
+Shared resources are pulled in from the `spring-data-build-resources` dependency (images, CSS, XSLTs for documentation generation). Renders reference documentation from Docbook file named `index.xml` within `src/docbkx`. In the `distribute` profile, two assemblies are generated: A ZIP to be uploaded to static.springsource.org (incl. javadoc (browsable), reference docs as described before) with the following content:
+
+```
++ schemas -> containing all XSD namespace schemas
+- changelog.txt
+- license.txt
+- notice.txt
+- readme.txt
++ docs
+ + reference -> Docbook generated reference documentation
+ + html
+ + htmlsingle
+ + pdf
++ api -> JavaDoc
+```
+
+A second ZIP is generated to be uploaded to S3 to automatically make it into the downloads section on the Spring website. It contains the same content as listed above plus the following:
+
+```
++ src -> Sources packaged into a JAR
++ dist -> Binary JARs
+```
+
+The following dependencies are pre-configured.
+
+- Logging dependencies: SLF4j + Commons Logging bridge and Logback as test dependency
+- Test dependencies: JUnit / Hamcrest / Mockito
+- Dependency versions for commonly used dependencies
+
+## Single project setup
+
+If the client project is a project consisting of a single project only all that needs to be done is declaring the parent project:
+
+```xml
+<parent>
+ <groupId>org.springframework.data.build</groupId>
+ <artifactId>spring-data-parent</artifactId>
+ <version>1.0.0.RELEASE</version>
+</parent>
+```
+
+Be sure to adapt the version number to the latest release version. The second and already last step of the setup is to activate the assembly plugin in the build section:
+
+```xml
+<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+</plugin>
+```
+
+As an example have a look at the build of [Spring Data JPA](http://github.com/SpringSource/spring-data-jpa).
+
+## Multi project setup
+
+A multi module setup requires slightly more setup and some structure being set up.
+
+- The root `pom.xml` needs to configure the `project.type` property to `multi`.
+- Docbook documentation sources need to be in the root project.
+- The assembly needs to be build in a dedicated sub-module (e.g. `distribution`), declare the assembly plugin (see single project setup) in that submodule and reconfigure the `project.root` property in that module to `${basedir}/..`.
+
+As an example have a look at the build of [Spring Data MongoDB](http://github.com/SpringSource/spring-data-mongodb).
+
+
532 parent/pom.xml
@@ -0,0 +1,532 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <!--
+
+ Global parent pom.xml for Spring Data modules to inherit from.
+
+ - Shared resources are pulled in from the spring-data-build-resources dependency (images, CSS, XSLTs for documentation generation)
+ - Renders reference documentation from Docbook file named index.xml within src/docbkx
+ - In the "distribute" profile, two assemblies are generated:
+ - one to be published on the download portal (incl. binaries, sources, javadoc (jarred and browsable), reference documentation in pdf, html and html single page)
+ - one to be uploaded to static.springsource.org (incl. javadoc (browsable), reference docs as described before)
+
+ Preconfigures the following:
+
+ - Logging dependencies: SLF4j + Commons Logging bridge and Logback as test dependency
+ - Test dependencies: JUnit / Hamcrest / Mockito
+ - Dependency versions for commonly used dependencies
+
+ -->
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>spring-data-parent</artifactId>
+ <packaging>pom</packaging>
+
+ <parent>
+ <groupId>org.springframework.data.build</groupId>
+ <artifactId>spring-data-build</artifactId>
+ <version>1.0.0.BUILD-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+
+ <name>Spring Data Build - General parent module</name>
+ <description>Global parent pom.xml to be used by Spring Data modules</description>
+ <url>http://www.springsource.org/spring-data</url>
+ <inceptionYear>2011-2013</inceptionYear>
+
+ <organization>
+ <name>SpringSource</name>
+ <url>http://www.springsource.org</url>
+ </organization>
+
+ <developers>
+ <developer>
+ <id>ogierke</id>
+ <name>Oliver Gierke</name>
+ <email>ogierke at vmware.com</email>
+ <organization>SpringSource</organization>
+ <organizationUrl>http://www.springsource.com</organizationUrl>
+ <roles>
+ <role>Project lead</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ </developers>
+
+ <licenses>
+ <license>
+ <name>Apache License, Version 2.0</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0</url>
+ <comments>
+ Copyright 2010 the original author or authors.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ </comments>
+ </license>
+ </licenses>
+
+ <properties>
+
+ <bundlor.failOnWarnings>true</bundlor.failOnWarnings>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <project.type>single</project.type>
+ <project.root>${basedir}</project.root>
+ <source.level>1.5</source.level>
+ <dist.name>${project.artifactId}</dist.name>
+
+ <aspectj>1.7.1</aspectj>
+ <cdi>1.0</cdi>
+ <hamcrest>1.3</hamcrest>
+ <jodatime>1.6</jodatime>
+ <junit>4.11</junit>
+ <logback>1.0.6</logback>
+ <mockito>1.9.0</mockito>
+ <querydsl>2.8.0</querydsl>
+ <slf4j>1.7.1</slf4j>
+ <spring>3.1.2.RELEASE</spring>
+ <spring30>3.0.7.RELEASE</spring30>
+ <webbeans>1.1.7</webbeans>
+
+ </properties>
+
+ <profiles>
+ <profile>
+ <id>distribute</id>
+
+ <properties>
+ <shared.resources>${project.build.directory}/shared-resources</shared.resources>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.springframework.data.build</groupId>
+ <artifactId>spring-data-build-resources</artifactId>
+ <version>1.0.0.BUILD-SNAPSHOT</version>
+ <scope>provided</scope>
+ <type>zip</type>
+ </dependency>
+ </dependencies>
+
+ <build>
+
+ <!--
+ Configures the folder defined in ${shared.resources} as additional source folder.
+ -->
+
+ <resources>
+ <resource>
+ <directory>${basedir}/src/main/resources</directory>
+ </resource>
+ <resource>
+ <directory>${shared.resources}</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+
+ <plugins>
+
+ <!--
+ Unpacks the content of spring-data-build-resources into the shared resources folder.
+ -->
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>unpack-shared-resources</id>
+ <goals>
+ <goal>unpack-dependencies</goal>
+ </goals>
+ <phase>generate-resources</phase>
+ </execution>
+ </executions>
+ <configuration>
+ <includeGroupIds>${project.groupId}</includeGroupIds>
+ <includeArtifacIds>spring-data-build-resources</includeArtifacIds>
+ <includeTypes>zip</includeTypes>
+ <excludeTransitive>true</excludeTransitive>
+ <outputDirectory>${shared.resources}</outputDirectory>
+ </configuration>
+ </plugin>
+
+ <!--
+ Configures JavaDoc generation.
+ -->
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.8</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>aggregate</goal>
+ </goals>
+ <phase>package</phase>
+ </execution>
+ </executions>
+ <configuration>
+ <breakiterator>true</breakiterator>
+ <header>${project.name}</header>
+ <source>${source.level}</source>
+ <quiet>true</quiet>
+ <javadocDirectory>${shared.resources}/javadoc</javadocDirectory>
+ <overview>${shared.resources}/javadoc/overview.html</overview>
+ <stylesheetfile>${shared.resources}/javadoc/spring-javadoc.css</stylesheetfile>
+ <!-- copies doc-files subdirectory which contains image resources -->
+ <docfilessubdirs>true</docfilessubdirs>
+ <links>
+ <link>http://static.springframework.org/spring/docs/3.1.x/javadoc-api</link>
+ <link>http://download.oracle.com/javase/1.5.0/docs/api</link>
+ <link>http://static.springsource.org/spring-data/data-commons/docs/current/api</link>
+ </links>
+ </configuration>
+ </plugin>
+
+ <!--
+ Renders reference documentation from Docbook sources.
+ -->
+
+ <plugin>
+ <groupId>com.agilejava.docbkx</groupId>
+ <artifactId>docbkx-maven-plugin</artifactId>
+ <version>2.0.14</version>
+ <executions>
+
+ <!-- Configuration for PDF creation -->
+ <execution>
+ <id>pdf</id>
+ <goals>
+ <goal>generate-pdf</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <postProcess>
+ <copy todir="${project.basedir}/target/site/reference">
+ <fileset dir="${project.basedir}/target/docbkx">
+ <include name="**/*.pdf" />
+ </fileset>
+ </copy>
+ <move file="${project.basedir}/target/site/reference/pdf/index.pdf" tofile="${project.basedir}/target/site/reference/pdf/${dist.name}-reference.pdf" />
+ </postProcess>
+ </configuration>
+ </execution>
+
+ <!-- Configuration for single-page HTML configuration -->
+ <execution>
+ <id>html-single</id>
+ <goals>
+ <goal>generate-html</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <targetDirectory>${basedir}/target/docbkx/htmlsingle</targetDirectory>
+ <htmlCustomization>${shared.resources}/docbkx/xsl/html-singlepage.xsl</htmlCustomization>
+ <postProcess>
+ <copy todir="${project.basedir}/target/site/reference/htmlsingle">
+ <fileset dir="${project.basedir}/target/docbkx/htmlsingle">
+ <include name="**/*.html" />
+ </fileset>
+ </copy>
+ <copy todir="${project.basedir}/target/site/reference/htmlsingle">
+ <fileset dir="${shared.resources}/docbkx">
+ <include name="**/*.css" />
+ <include name="**/*.png" />
+ <include name="**/*.gif" />
+ <include name="**/*.jpg" />
+ </fileset>
+ </copy>
+ </postProcess>
+ </configuration>
+ </execution>
+
+ <!-- Configuration for chunked HTML generation -->
+ <execution>
+ <id>html</id>
+ <goals>
+ <goal>generate-html</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <chunkedOutput>true</chunkedOutput>
+ <targetDirectory>${basedir}/target/docbkx/html</targetDirectory>
+ <htmlCustomization>${shared.resources}/docbkx/xsl/html-multipage.xsl</htmlCustomization>
+ <postProcess>
+ <copy todir="${project.basedir}/target/site/reference/html">
+ <fileset dir="${project.basedir}/target/docbkx/html/index">
+ <include name="**/*.html" />
+ </fileset>
+ </copy>
+ <copy todir="${project.basedir}/target/site/reference/html">
+ <fileset dir="${shared.resources}/docbkx">
+ <include name="**/*.css" />
+ <include name="**/*.png" />
+ <include name="**/*.gif" />
+ <include name="**/*.jpg" />
+ </fileset>
+ </copy>
+ </postProcess>
+ </configuration>
+ </execution>
+ </executions>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.docbook</groupId>
+ <artifactId>docbook-xml</artifactId>
+ <version>4.4</version>
+ <scope>runtime</scope>
+ </dependency>
+ </dependencies>
+
+ <!-- Common Docbook configuration -->
+ <configuration>
+ <includes>index.xml</includes>
+ <xincludeSupported>true</xincludeSupported>
+ <chunkedOutput>false</chunkedOutput>
+ <foCustomization>${shared.resources}/docbkx/xsl/pdf.xsl</foCustomization>
+ <useExtensions>1</useExtensions>
+ <highlightSource>1</highlightSource>
+ <entities>
+ <entity>
+ <name>version</name>
+ <value>${project.version}</value>
+ </entity>
+ </entities>
+ </configuration>
+ </plugin>
+
+ <!--
+ Copies all namespaces schemas to target/schemas flatten the directory structure.
+ Depended on by the site.xml assembly descriptor.
+ -->
+
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.7</version>
+ <executions>
+ <execution>
+ <phase>process-resources</phase>
+ <configuration>
+ <target>
+ <copy todir="${project.build.directory}/schemas">
+ <fileset dir="${basedir}" erroronmissingdir="false">
+ <include name="**/src/main/resources/**/config/spring-*.xsd" />
+ </fileset>
+ <flattenmapper />
+ </copy>
+ </target>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+
+ <pluginManagement>
+ <plugins>
+
+ <!--
+ Creates two zip files for download as well as API and reference documentation distribution.
+ -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.4</version>
+ <executions>
+ <execution>
+ <id>distribution</id>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <descriptors>
+ <descriptor>${shared.resources}/assemblies/distribution-${project.type}.xml</descriptor>
+ <descriptor>${shared.resources}/assemblies/site.xml</descriptor>
+ </descriptors>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ </profile>
+
+ <profile>
+ <id>multimodule</id>
+ <activation>
+ <property>
+ <name>project.type</name>
+ <value>multi</value>
+ </property>
+ </activation>
+ <properties>
+ <project.root>${basedir}/..</project.root>
+ </properties>
+ </profile>
+ </profiles>
+
+ <dependencies>
+
+ <!-- Test -->
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest-library</artifactId>
+ <version>${hamcrest}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest-core</artifactId>
+ <version>${hamcrest}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <version>${mockito}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-test</artifactId>
+ <version>${spring}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- Logging -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>${slf4j}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>jcl-over-slf4j</artifactId>
+ <version>${slf4j}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ <version>${logback}</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.0</version>
+ <configuration>
+ <source>${source.level}</source>
+ <target>${source.level}</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.12</version>
+ <configuration>
+ <useFile>false</useFile>
+ <includes>
+ <include>**/*Tests.java</include>
+ </includes>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.3.1</version>
+ <configuration>
+ <useDefaultManifestFile>true</useDefaultManifestFile>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>2.1.2</version>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>com.springsource.bundlor</groupId>
+ <artifactId>com.springsource.bundlor.maven</artifactId>
+ <version>1.0.0.RELEASE</version>
+ <configuration>
+ <failOnWarnings>${bundlor.failOnWarnings}</failOnWarnings>
+ </configuration>
+ <executions>
+ <execution>
+ <id>bundlor</id>
+ <goals>
+ <goal>bundlor</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ </plugins>
+ </build>
+
+ <repositories>
+ <repository>
+ <id>spring-libs-release</id>
+ <url>http://repo.springsource.org/libs-release</url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
+
+ <pluginRepositories>
+ <pluginRepository>
+ <id>spring-plugins-release</id>
+ <url>http://repo.springsource.org/plugins-release</url>
+ </pluginRepository>
+ </pluginRepositories>
+
+</project>
72 pom.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.springframework.data.build</groupId>
+ <artifactId>spring-data-build</artifactId>
+ <version>1.0.0.BUILD-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>Spring Data Build</name>
+ <description>Modules to centralize common resources and configuration for Spring Data Maven builds.</description>
+ <url>https://github.com/SpringData/spring-data-build</url>
+
+ <organization>
+ <name>SpringSource</name>
+ <url>http://www.springsource.org</url>
+ </organization>
+
+ <modules>
+ <module>resources</module>
+ <module>parent</module>
+ </modules>
+
+ <developers>
+ <developer>
+ <id>ogierke</id>
+ <name>Oliver Gierke</name>
+ <email>ogierke at vmware.com</email>
+ <organization>SpringSource</organization>
+ <organizationUrl>http://www.springsource.com</organizationUrl>
+ <roles>
+ <role>Project lead</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ </developers>
+
+ <licenses>
+ <license>
+ <name>Apache License, Version 2.0</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0</url>
+ <comments>
+ Copyright 2010 the original author or authors.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ </comments>
+ </license>
+ </licenses>
+
+ <scm>
+ <url>https://github.com/SpringSource/spring-data-build</url>
+ <connection>scm:git:git://github.com/SpringSource/spring-data-build.git</connection>
+ <developerConnection>scm:git:ssh://git@github.com:SpringSource/spring-data-build.git</developerConnection>
+ </scm>
+
+ <issueManagement>
+ <system>GitHub</system>
+ <url>https://github.com/SpringSource/spring-data-build/issues</url>
+ </issueManagement>
+
+</project>
41 resources/pom.xml
@@ -0,0 +1,41 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>spring-data-build-resources</artifactId>
+ <packaging>pom</packaging>
+
+ <parent>
+ <groupId>org.springframework.data.build</groupId>
+ <artifactId>spring-data-build</artifactId>
+ <version>1.0.0.BUILD-SNAPSHOT</version>
+ </parent>
+
+ <name>Spring Data Build - Common resources</name>
+ <description>Commonly needed resources like JavaDoc CSS and so on</description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>zip-resources</id>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <descriptors>
+ <descriptor>src/main/assembly/resources.xml</descriptor>
+ </descriptors>
+ <appendAssemblyId>false</appendAssemblyId>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
14 resources/src/main/assembly/resources.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<assembly>
+ <id>resources</id>
+ <formats>
+ <format>zip</format>
+ </formats>
+ <includeBaseDirectory>false</includeBaseDirectory>
+ <fileSets>
+ <fileSet>
+ <directory>src/main/resources</directory>
+ <outputDirectory></outputDirectory>
+ </fileSet>
+ </fileSets>
+</assembly>
30 resources/src/main/resources/assemblies/distribution-multi.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
+ <id>distribution</id>
+ <formats>
+ <format>zip</format>
+ </formats>
+ <includeBaseDirectory>true</includeBaseDirectory>
+ <componentDescriptors>
+ <componentDescriptor>resources.xml</componentDescriptor>
+ </componentDescriptors>
+ <moduleSets>
+ <moduleSet>
+ <useAllReactorProjects>true</useAllReactorProjects>
+ <binaries>
+ <outputDirectory>dist</outputDirectory>
+ <includeDependencies>false</includeDependencies>
+ <unpack>false</unpack>
+ </binaries>
+ </moduleSet>
+ <moduleSet>
+ <useAllReactorProjects>true</useAllReactorProjects>
+ <binaries>
+ <attachmentClassifier>sources</attachmentClassifier>
+ <outputDirectory>src</outputDirectory>
+ <includeDependencies>false</includeDependencies>
+ <unpack>false</unpack>
+ </binaries>
+ </moduleSet>
+ </moduleSets>
+</assembly>
24 resources/src/main/resources/assemblies/distribution-single.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
+ <id>distribution</id>
+ <formats>
+ <format>zip</format>
+ </formats>
+ <includeBaseDirectory>true</includeBaseDirectory>
+ <componentDescriptors>
+ <componentDescriptor>resources.xml</componentDescriptor>
+ </componentDescriptors>
+ <files>
+ <file>
+ <source>target/${project.artifactId}-${project.version}.jar</source>
+ <outputDirectory>dist</outputDirectory>
+ <fileMode>0644</fileMode>
+ </file>
+ <file>
+ <source>target/${project.artifactId}-${project.version}-sources.jar</source>
+ <outputDirectory>sources</outputDirectory>
+ <fileMode>0644</fileMode>
+ </file>
+ </files>
+
+</assembly>
35 resources/src/main/resources/assemblies/resources.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<component xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/component/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/component/1.1.2 http://maven.apache.org/xsd/component-1.1.2.xsd">
+ <fileSets>
+ <fileSet>
+ <!--
+ Adds readme and other textfiles to the root of the distribution archive.
+ -->
+ <directory>${project.root}/src/main/resources</directory>
+ <includes>
+ <include>readme.txt</include>
+ <include>license.txt</include>
+ <include>notice.txt</include>
+ <include>changelog.txt</include>
+ </includes>
+ <outputDirectory />
+ <lineEnding>dos</lineEnding>
+ </fileSet>
+ <fileSet>
+ <!--
+ Adds reference manual (html and pdf) to the distribution archive
+ under the 'docs/reference' directory see pom.xml 'maven-javadoc-plugin' declaration.
+ -->
+ <directory>${project.root}/target/site/reference</directory>
+ <outputDirectory>docs/reference</outputDirectory>
+ </fileSet>
+ <fileSet>
+ <!--
+ Adds javadoc html to the distribution archive under the 'docs/javadoc'
+ directory see pom.xml 'maven-javadoc-plugin' declaration.
+ -->
+ <directory>${project.root}/target/site/apidocs</directory>
+ <outputDirectory>docs/api</outputDirectory>
+ </fileSet>
+ </fileSets>
+</component>
17 resources/src/main/resources/assemblies/site.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
+ <id>site</id>
+ <formats>
+ <format>zip</format>
+ </formats>
+ <includeBaseDirectory>true</includeBaseDirectory>
+ <componentDescriptors>
+ <componentDescriptor>resources.xml</componentDescriptor>
+ </componentDescriptors>
+ <fileSets>
+ <fileSet>
+ <directory>${project.root}/target/schemas</directory>
+ <outputDirectory>schemas</outputDirectory>
+ </fileSet>
+ </fileSets>
+</assembly>
35 resources/src/main/resources/docbkx/css/highlight.css
@@ -0,0 +1,35 @@
+/*
+ code highlight CSS resemblign the Eclipse IDE default color schema
+ @author Costin Leau
+*/
+
+.hl-keyword {
+ color: #7F0055;
+ font-weight: bold;
+}
+
+.hl-comment {
+ color: #3F5F5F;
+ font-style: italic;
+}
+
+.hl-multiline-comment {
+ color: #3F5FBF;
+ font-style: italic;
+}
+
+.hl-tag {
+ color: #3F7F7F;
+}
+
+.hl-attribute {
+ color: #7F007F;
+}
+
+.hl-value {
+ color: #2A00FF;
+}
+
+.hl-string {
+ color: #2A00FF;
+}
5 resources/src/main/resources/docbkx/css/manual-multipage.css
@@ -0,0 +1,5 @@
+@IMPORT url("manual.css");
+
+body.firstpage {
+ background: url("../images/background.png") no-repeat center top;
+}
5 resources/src/main/resources/docbkx/css/manual-singlepage.css
@@ -0,0 +1,5 @@
+@IMPORT url("manual.css");
+
+body {
+ background: url("../images/background.png") no-repeat center top;
+}
236 resources/src/main/resources/docbkx/css/manual.css
@@ -0,0 +1,236 @@
+@IMPORT url("highlight.css");
+
+html {
+ padding: 0pt;
+ margin: 0pt;
+}
+
+body {
+ color: #333333;
+ margin: 15px 30px;
+ font-family: Helvetica, Arial, Freesans, Clean, Sans-serif;
+ line-height: 1.6;
+}
+
+code {
+ font-size: 16px;
+}
+
+body>*:first-child {
+ margin-top: 0 !important;
+}
+
+div {
+ margin: 0pt;
+}
+
+hr {
+ border: 1px solid #CCCCCC;
+ background: #CCCCCC;
+}
+
+h1,h2,h3,h4,h5,h6 {
+ color: #000000;
+ cursor: text;
+ font-weight: bold;
+ margin: 20px 0 10px;
+ padding: 0;
+}
+
+h1 {
+ border-bottom: 1px solid #CCCCCC;
+ margin: 50px 0 30px;
+}
+
+h1,h1 code {
+ font-size: 32px;
+}
+
+h2,h2 code {
+ font-size: 24px;
+}
+
+h3,h3 code {
+ font-size: 20px;
+}
+
+h4,h1 code,h5,h5 code,h6,h6 code {
+ font-size: 18px;
+}
+
+div.book,div.chapter,div.appendix,div.part {
+ min-width: 300px;
+ max-width: 1200px;
+ margin: 0 auto;
+}
+
+p.releaseinfo {
+ font-weight: bold;
+ margin-bottom: 40px;
+ margin-top: 40px;
+}
+
+div.authorgroup {
+ line-height: 1;
+}
+
+p.copyright {
+ line-height: 1;
+ margin-bottom: -5px;
+}
+
+.legalnotice p {
+ font-style: italic;
+ font-size: 14px;
+ line-height: 1;
+}
+
+div.titlepage+p,div.titlepage+p {
+ margin-top: 0;
+}
+
+pre {
+ line-height: 1.0;
+ color: black;
+}
+
+a {
+ color: #4183C4;
+ text-decoration: none;
+}
+
+p {
+ margin: 15px 0;
+ text-align: left;
+}
+
+ul,ol {
+ padding-left: 30px;
+}
+
+li p {
+ margin: 0;
+}
+
+div.table {
+ margin: 1em;
+ padding: 0.5em;
+ text-align: center;
+}
+
+div.table table {
+ display: table;
+ width: 100%;
+}
+
+div.table td {
+ padding-left: 7px;
+ padding-right: 7px;
+}
+
+.sidebar {
+ font-size: 14px;
+ line-height: 1.4;
+ float: right;
+ clear: both;
+ margin: 15px 0 30px 30px;
+ padding: 0 20px;
+ width: 33%;
+ background-color: #F8F8F8;
+ border: 1px solid #CCCCCC;
+ border-radius: 3px 3px 3px 3px;
+ float: right;
+}
+
+pre.programlisting {
+ font-size: 13px;
+ padding: 6px 10px;
+ background-color: #F8F8F8;
+ border: 1px solid #CCCCCC;
+ border-radius: 3px 3px 3px 3px;
+ clear: both;
+ overflow: auto;
+ line-height: 1.2;
+}
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+ border: none !important;
+}
+
+table tr {
+ background-color: #FFFFFF;
+ border-top: 1px solid #CCCCCC;
+ border-bottom: none;
+}
+
+table th {
+ font-weight: bold;
+}
+
+table th,table td {
+ border: 1px solid #CCCCCC !important;
+ padding: 6px 13px;
+}
+
+table tr:nth-child(2n) {
+ background-color: #F8F8F8;
+}
+
+td p {
+ margin: 0;
+}
+
+div.important *,div.note *,div.tip *,div.warning *,div.navheader *,div.navfooter *,div.calloutlist * {
+ border: none !important;
+ background: none !important;
+}
+
+div.calloutlist p, div.calloutlist td {
+ padding: 0;
+ margin: 0;
+}
+
+div.calloutlist > table > tbody > tr > td:first-child {
+ padding-left: 10px;
+ width: 30px !important;
+}
+
+div.note,div.tip,div.warning {
+ margin-left: 40px !important;
+ margin-right: 20px !important;
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+
+div.toc {
+ line-height: 1.1;
+}
+
+dl,dt {
+ margin-top: 1px;
+ margin-bottom: 0;
+}
+
+tbody.footnotes * {
+ border: none !important;
+}
+
+div.footnote p {
+ margin: 0;
+ line-height: 1;
+}
+
+div.footnote p sup {
+ margin-right: 6px;
+ vertical-align: middle;
+}
+
+div.navheader {
+ border-bottom: 1px solid #CCCCCC;
+}
+
+div.navfooter {
+ border-top: 1px solid #CCCCCC;
+}
BIN  resources/src/main/resources/docbkx/images/background.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  resources/src/main/resources/docbkx/images/caution.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  resources/src/main/resources/docbkx/images/important.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  resources/src/main/resources/docbkx/images/logo.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  resources/src/main/resources/docbkx/images/note.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  resources/src/main/resources/docbkx/images/tip.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  resources/src/main/resources/docbkx/images/warning.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
44 resources/src/main/resources/docbkx/legacy/xsl/highlight-fo.xsl
@@ -0,0 +1,44 @@
+<?xml version='1.0'?>
+<!--
+ Simple highlighter for FO/PDF output. Follows the Eclipse color scheme.
+-->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ xmlns:xslthl="http://xslthl.sf.net"
+ exclude-result-prefixes="xslthl"
+ version='1.0'>
+
+ <xsl:template match='xslthl:keyword'>
+ <fo:inline font-weight="bold" color="#7F0055"><xsl:apply-templates/></fo:inline>
+ </xsl:template>
+
+ <xsl:template match='xslthl:comment'>
+ <fo:inline font-style="italic" color="#3F5F5F"><xsl:apply-templates/></fo:inline>
+ </xsl:template>
+
+ <xsl:template match='xslthl:oneline-comment'>
+ <fo:inline font-style="italic" color="#3F5F5F"><xsl:apply-templates/></fo:inline>
+ </xsl:template>
+
+ <xsl:template match='xslthl:multiline-comment'>
+ <fo:inline font-style="italic" color="#3F5FBF"><xsl:apply-templates/></fo:inline>
+ </xsl:template>
+
+ <xsl:template match='xslthl:tag'>
+ <fo:inline color="#3F7F7F"><xsl:apply-templates/></fo:inline>
+ </xsl:template>
+
+ <xsl:template match='xslthl:attribute'>
+ <fo:inline color="#7F007F"><xsl:apply-templates/></fo:inline>
+ </xsl:template>
+
+ <xsl:template match='xslthl:value'>
+ <fo:inline color="#2A00FF"><xsl:apply-templates/></fo:inline>
+ </xsl:template>
+
+ <xsl:template match='xslthl:string'>
+ <fo:inline color="#2A00FF"><xsl:apply-templates/></fo:inline>
+ </xsl:template>
+
+</xsl:stylesheet>
42 resources/src/main/resources/docbkx/legacy/xsl/highlight.xsl
@@ -0,0 +1,42 @@
+<?xml version='1.0'?>
+<!--
+ Simple highlighter for HTML output. Follows the Eclipse color scheme.
+-->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xslthl="http://xslthl.sf.net"
+ exclude-result-prefixes="xslthl"
+ version='1.0'>
+
+ <xsl:template match='xslthl:keyword'>
+ <span class="hl-keyword"><xsl:value-of select='.'/></span>
+ </xsl:template>
+
+ <xsl:template match='xslthl:comment'>
+ <span class="hl-comment"><xsl:value-of select='.'/></span>
+ </xsl:template>
+
+ <xsl:template match='xslthl:oneline-comment'>
+ <span class="hl-comment"><xsl:value-of select='.'/></span>
+ </xsl:template>
+
+ <xsl:template match='xslthl:multiline-comment'>
+ <span class="hl-multiline-comment"><xsl:value-of select='.'/></span>
+ </xsl:template>
+
+ <xsl:template match='xslthl:tag'>
+ <span class="hl-tag"><xsl:value-of select='.'/></span>
+ </xsl:template>
+
+ <xsl:template match='xslthl:attribute'>
+ <span class="hl-attribute"><xsl:value-of select='.'/></span>
+ </xsl:template>
+
+ <xsl:template match='xslthl:value'>
+ <span class="hl-value"><xsl:value-of select='.'/></span>
+ </xsl:template>
+
+ <xsl:template match='xslthl:string'>
+ <span class="hl-string"><xsl:value-of select='.'/></span>
+ </xsl:template>
+
+</xsl:stylesheet>
107 resources/src/main/resources/docbkx/legacy/xsl/html.xsl
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ This is the XSL HTML configuration file for the Spring
+ Reference Documentation.
+-->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ xmlns:xslthl="http://xslthl.sf.net"
+ exclude-result-prefixes="xslthl"
+ version="1.0">
+
+ <xsl:import href="urn:docbkx:stylesheet"/>
+ <xsl:import href="highlight.xsl"/>
+
+ <!--###################################################
+ HTML Settings
+ ################################################### -->
+
+ <!-- These extensions are required for table printing and other stuff -->
+ <xsl:param name="tablecolumns.extension">0</xsl:param>
+ <xsl:param name="graphicsize.extension">0</xsl:param>
+ <xsl:param name="ignore.image.scaling">1</xsl:param>
+
+ <!--###################################################
+ Table Of Contents
+ ################################################### -->
+
+ <!-- Generate the TOCs for named components only -->
+ <xsl:param name="generate.toc">
+ book toc
+ </xsl:param>
+
+ <!-- Show only Sections up to level 3 in the TOCs -->
+ <xsl:param name="toc.section.depth">3</xsl:param>
+
+ <!--###################################################
+ Labels
+ ################################################### -->
+
+ <!-- Label Chapters and Sections (numbering) -->
+ <xsl:param name="chapter.autolabel">1</xsl:param>
+ <xsl:param name="section.autolabel" select="1"/>
+ <xsl:param name="section.label.includes.component.label" select="1"/>
+
+ <!--###################################################
+ Callouts
+ ################################################### -->
+
+ <!-- Use images for callouts instead of (1) (2) (3) -->
+ <xsl:param name="callout.graphics">1</xsl:param>
+
+ <!-- Place callout marks at this column in annotated areas -->
+ <xsl:param name="callout.defaultcolumn">90</xsl:param>
+
+ <!--###################################################
+ Admonitions
+ ################################################### -->
+
+ <!-- Use nice graphics for admonitions -->
+ <xsl:param name="admon.graphics">1</xsl:param>
+ <xsl:param name="admon.graphics.path">images/admons/</xsl:param>
+ <!--###################################################
+ Misc
+ ################################################### -->
+ <!-- Placement of titles -->
+ <xsl:param name="formal.title.placement">
+ figure after
+ example before
+ equation before
+ table before
+ procedure before
+ </xsl:param>
+ <xsl:template match="author" mode="titlepage.mode">
+ <xsl:if test="name(preceding-sibling::*[1]) = 'author'">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <span class="{name(.)}">
+ <xsl:call-template name="person.name"/>
+ <!-- (<xsl:value-of select="affiliation"/>) -->
+ <xsl:apply-templates mode="titlepage.mode" select="./contrib"/>
+ </span>
+ </xsl:template>
+ <xsl:template match="authorgroup" mode="titlepage.mode">
+ <div class="{name(.)}">
+ <h2>Authors</h2>
+ <p/>
+ <xsl:apply-templates mode="titlepage.mode"/>
+ </div>
+ </xsl:template>
+ <!--###################################################
+ Headers and Footers
+ ################################################### -->
+ <!-- let's have a Spring and I21 banner across the top of each page -->
+ <xsl:template name="user.header.navigation">
+ <div style="background-color:white;border:none;height:73px;border:1px solid black;">
+ <a style="border:none;" href="http://www.springframework.org/osgi/"
+ title="The Spring Framework - Spring Data">
+ <img style="border:none;" src="images/xdev-spring_logo.jpg"/>
+ </a>
+ <a style="border:none;" href="http://www.SpringSource.com/" title="SpringSource - Spring from the Source">
+ <img style="border:none;position:absolute;padding-top:5px;right:42px;" src="images/s2-banner-rhs.png"/>
+ </a>
+ </div>
+ </xsl:template>
+
+</xsl:stylesheet>
+
221 resources/src/main/resources/docbkx/legacy/xsl/html_chunk.xsl
@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ This is the XSL HTML configuration file for the Spring Reference Documentation.
+-->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ version="1.0">
+
+ <xsl:import href="urn:docbkx:stylesheet"/>
+ <xsl:import href="highlight.xsl"/>
+
+
+ <!--###################################################
+ HTML Settings
+ ################################################### -->
+ <xsl:param name="chunk.section.depth">'5'</xsl:param>
+ <xsl:param name="use.id.as.filename">'1'</xsl:param>
+ <xsl:param name="tablecolumns.extension">0</xsl:param>
+ <xsl:param name="graphicsize.extension">0</xsl:param>
+ <xsl:param name="ignore.image.scaling">1</xsl:param>
+ <!--###################################################
+ Table Of Contents
+ ################################################### -->
+ <!-- Generate the TOCs for named components only -->
+ <xsl:param name="generate.toc">
+ book toc
+ qandaset toc
+ </xsl:param>
+ <!-- Show only Sections up to level 3 in the TOCs -->
+ <xsl:param name="toc.section.depth">3</xsl:param>
+ <!--###################################################
+ Labels
+ ################################################### -->
+ <!-- Label Chapters and Sections (numbering) -->
+ <xsl:param name="chapter.autolabel">1</xsl:param>
+ <xsl:param name="section.autolabel" select="1"/>
+ <xsl:param name="section.label.includes.component.label" select="1"/>
+ <!--###################################################
+ Callouts
+ ################################################### -->
+ <!-- Place callout marks at this column in annotated areas -->
+ <xsl:param name="callout.graphics">1</xsl:param>
+ <xsl:param name="callout.defaultcolumn">90</xsl:param>
+
+ <!--###################################################
+ Admonitions
+ ################################################### -->
+
+ <!-- Use nice graphics for admonitions -->
+ <xsl:param name="admon.graphics">1</xsl:param>
+ <xsl:param name="admon.graphics.path">images/admons/</xsl:param>
+ <!--###################################################
+ Misc
+ ################################################### -->
+ <!-- Placement of titles -->
+ <xsl:param name="formal.title.placement">
+ figure after
+ example before
+ equation before
+ table before
+ procedure before
+ </xsl:param>
+ <xsl:template match="author" mode="titlepage.mode">
+ <xsl:if test="name(preceding-sibling::*[1]) = 'author'">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <span class="{name(.)}">
+ <xsl:call-template name="person.name"/>
+ (<xsl:value-of select="affiliation"/>)
+ <xsl:apply-templates mode="titlepage.mode" select="./contrib"/>
+ <!--
+ <xsl:apply-templates mode="titlepage.mode" select="./affiliation"/>
+ -->
+ </span>
+ </xsl:template>
+ <xsl:template match="authorgroup" mode="titlepage.mode">
+ <div class="{name(.)}">
+ <h2>Authors</h2>
+ <p/>
+ <xsl:apply-templates mode="titlepage.mode"/>
+ </div>
+ </xsl:template>
+ <!--###################################################
+ Headers and Footers
+ ################################################### -->
+ <!-- let's have a Spring and I21 banner across the top of each page -->
+ <xsl:template name="user.header.navigation">
+ <div style="background-color:white;border:none;height:73px;border:1px solid black;">
+ <a style="border:none;" href="http://www.springframework.org/osgi/"
+ title="The Spring Framework - Spring Data">
+ <img style="border:none;" src="images/xdev-spring_logo.jpg"/>
+ </a>
+ <a style="border:none;" href="http://www.SpringSource.com/" title="SpringSource - Spring from the Source">
+ <img style="border:none;position:absolute;padding-top:5px;right:42px;" src="images/s2-banner-rhs.png"/>
+ </a>
+ </div>
+ </xsl:template>
+ <!-- no other header navigation (prev, next, etc.) -->
+ <xsl:template name="header.navigation"/>
+ <xsl:param name="navig.showtitles">1</xsl:param>
+ <!-- let's have a 'Sponsored by SpringSource' strapline (or somesuch) across the bottom of each page -->
+ <xsl:template name="footer.navigation">
+ <xsl:param name="prev" select="/foo"/>
+ <xsl:param name="next" select="/foo"/>
+ <xsl:param name="nav.context"/>
+ <xsl:variable name="home" select="/*[1]"/>
+ <xsl:variable name="up" select="parent::*"/>
+ <xsl:variable name="row1" select="count($prev) &gt; 0
+ or count($up) &gt; 0
+ or count($next) &gt; 0"/>
+ <xsl:variable name="row2" select="($prev and $navig.showtitles != 0)
+ or (generate-id($home) != generate-id(.)
+ or $nav.context = 'toc')
+ or ($chunk.tocs.and.lots != 0
+ and $nav.context != 'toc')
+ or ($next and $navig.showtitles != 0)"/>
+ <xsl:if test="$suppress.navigation = '0' and $suppress.footer.navigation = '0'">
+ <div class="navfooter">
+ <xsl:if test="$footer.rule != 0">
+ <hr/>
+ </xsl:if>
+ <xsl:if test="$row1 or $row2">
+ <table width="100%" summary="Navigation footer">
+ <xsl:if test="$row1">
+ <tr>
+ <td width="40%" align="left">
+ <xsl:if test="count($prev)>0">
+ <a accesskey="p">
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="object" select="$prev"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:call-template name="navig.content">
+ <xsl:with-param name="direction" select="'prev'"/>
+ </xsl:call-template>
+ </a>
+ </xsl:if>
+ <xsl:text>&#160;</xsl:text>
+ </td>
+
+ <td width="20%" align="center">
+ <xsl:choose>
+ <xsl:when test="$home != . or $nav.context = 'toc'">
+ <a accesskey="h">
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="object" select="$home"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:call-template name="navig.content">
+ <xsl:with-param name="direction" select="'home'"/>
+ </xsl:call-template>
+ </a>
+ <xsl:if test="$chunk.tocs.and.lots != 0 and $nav.context != 'toc'">
+ <xsl:text>&#160;|&#160;</xsl:text>
+ </xsl:if>
+ </xsl:when>
+ <xsl:otherwise>&#160;</xsl:otherwise>
+ </xsl:choose>
+ <xsl:if test="$chunk.tocs.and.lots != 0 and $nav.context != 'toc'">
+ <a accesskey="t">
+ <xsl:attribute name="href">
+ <xsl:apply-templates select="/*[1]" mode="recursive-chunk-filename">
+ <xsl:with-param name="recursive" select="true()"/>
+ </xsl:apply-templates>
+ <xsl:text>-toc</xsl:text>
+ <xsl:value-of select="$html.ext"/>
+ </xsl:attribute>
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key" select="'nav-toc'"/>
+ </xsl:call-template>
+ </a>
+ </xsl:if>
+ </td>
+ <td width="40%" align="right">
+ <xsl:text>&#160;</xsl:text>
+ <xsl:if test="count($next)>0">
+ <a accesskey="n">
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="object" select="$next"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:call-template name="navig.content">
+ <xsl:with-param name="direction" select="'next'"/>
+ </xsl:call-template>
+ </a>
+ </xsl:if>
+ </td>
+ </tr>
+ </xsl:if>
+ <xsl:if test="$row2">
+ <tr>
+ <td width="40%" align="left" valign="top">
+ <xsl:if test="$navig.showtitles != 0">
+ <xsl:apply-templates select="$prev" mode="object.title.markup"/>
+ </xsl:if>
+ <xsl:text>&#160;</xsl:text>
+ </td>
+ <td width="20%" align="center">
+ <span style="color:white;font-size:90%;">
+ <a href="http://www.SpringSource.com/"
+ title="SpringSource - Spring from the Source">Sponsored by SpringSource
+ </a>
+ </span>
+ </td>
+ <td width="40%" align="right" valign="top">
+ <xsl:text>&#160;</xsl:text>
+ <xsl:if test="$navig.showtitles != 0">
+ <xsl:apply-templates select="$next" mode="object.title.markup"/>
+ </xsl:if>
+ </td>
+ </tr>
+ </xsl:if>
+ </table>
+ </xsl:if>
+ </div>
+ </xsl:if>
+ </xsl:template>
+</xsl:stylesheet>
444 resources/src/main/resources/docbkx/legacy/xsl/pdf.xsl
@@ -0,0 +1,444 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ This is the XSL FO (PDF) stylesheet for the Spring Data reference
+ documentation.
+-->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ version="1.0">
+
+
+ <xsl:import href="urn:docbkx:stylesheet"/>
+ <xsl:import href="highlight-fo.xsl"/>
+
+ <!--###################################################
+ Custom Title Page
+ ################################################### -->
+
+ <xsl:template name="book.titlepage.recto">
+ <fo:block>
+ <fo:table table-layout="fixed" width="175mm">
+ <fo:table-column column-width="175mm"/>
+ <fo:table-body>
+ <fo:table-row>
+ <fo:table-cell text-align="center">
+ <fo:block font-family="Helvetica" font-size="22pt" padding-before="10mm">
+ <xsl:value-of select="bookinfo/subtitle"/>
+ </fo:block>
+ <fo:block font-family="Helvetica" font-size="14pt" padding="10mm">
+ <xsl:value-of select="bookinfo/title"/>
+ </fo:block>
+ <fo:block font-family="Helvetica" font-size="12pt" padding="10mm">
+ <xsl:value-of select="bookinfo/releaseinfo"/>
+ </fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell text-align="center">
+ <fo:block font-family="Helvetica" font-size="14pt" padding="10mm">
+ <xsl:value-of select="bookinfo/pubdate"/>
+ </fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell text-align="center">
+ <fo:block font-family="Helvetica" font-size="12pt" padding="10mm">
+ <xsl:for-each select="bookinfo/authorgroup/author">
+ <xsl:if test="position() > 1">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <xsl:value-of select="firstname"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="surname"/>
+ <!-- <xsl:text> (</xsl:text>
+ <xsl:value-of select="affiliation"/>
+ <xsl:text>)</xsl:text> -->
+ </xsl:for-each>
+ </fo:block>
+ <fo:block font-family="Helvetica" font-size="12pt" padding="10mm">
+ <xsl:text>Copyright &#xA9; 2012</xsl:text>
+ </fo:block>
+
+ <fo:block font-family="Helvetica" font-size="10pt" padding="1mm">
+ <xsl:value-of select="bookinfo/legalnotice"/>
+ </fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-body>
+ </fo:table>
+ </fo:block>
+ </xsl:template>
+
+ <!-- Prevent blank pages in output -->
+ <xsl:template name="book.titlepage.before.verso">
+ </xsl:template>
+ <xsl:template name="book.titlepage.verso">
+ </xsl:template>
+ <xsl:template name="book.titlepage.separator">
+ </xsl:template>
+
+ <!--###################################################
+ Header
+ ################################################### -->
+
+ <!-- More space in the center header for long text -->
+ <xsl:attribute-set name="header.content.properties">
+ <xsl:attribute name="font-family">
+ <xsl:value-of select="$body.font.family"/>
+ </xsl:attribute>
+ <xsl:attribute name="margin-left">-5em</xsl:attribute>
+ <xsl:attribute name="margin-right">-5em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!--###################################################
+ Custom Footer
+ ################################################### -->
+ <xsl:template name="footer.content">
+ <xsl:param name="pageclass" select="''"/>
+ <xsl:param name="sequence" select="''"/>
+ <xsl:param name="position" select="''"/>
+ <xsl:param name="gentext-key" select="''"/>
+ <xsl:variable name="Version">
+ <xsl:if test="//releaseinfo">
+ <xsl:text>Spring Data JPA (</xsl:text><xsl:value-of select="//releaseinfo" /><xsl:text>)</xsl:text>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$sequence='blank'">
+ <xsl:if test="$position = 'center'">
+ <xsl:value-of select="$Version"/>
+ </xsl:if>
+ </xsl:when>
+ <!-- for double sided printing, print page numbers on alternating sides (of the page) -->
+ <xsl:when test="$double.sided != 0">
+ <xsl:choose>
+ <xsl:when test="$sequence = 'even' and $position='left'">
+ <fo:page-number/>
+ </xsl:when>
+ <xsl:when test="$sequence = 'odd' and $position='right'">
+ <fo:page-number/>
+ </xsl:when>
+ <xsl:when test="$position='center'">
+ <xsl:value-of select="$Version"/>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:when>
+ <!-- for single sided printing, print all page numbers on the right (of the page) -->
+ <xsl:when test="$double.sided = 0">
+ <xsl:choose>
+ <xsl:when test="$position='center'">
+ <xsl:value-of select="$Version"/>
+ </xsl:when>
+ <xsl:when test="$position='right'">
+ <fo:page-number/>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:template>
+
+ <!--###################################################
+ Extensions
+ ################################################### -->
+
+ <!-- These extensions are required for table printing and other stuff -->
+ <xsl:param name="tablecolumns.extension">0</xsl:param>
+ <!-- FOP provide only PDF Bookmarks at the moment -->
+ <xsl:param name="fop.extensions">1</xsl:param>
+ <xsl:param name="fop1.extensions">1</xsl:param>
+ <xsl:param name="ignore.image.scaling">0</xsl:param>
+
+ <!--###################################################
+ Table Of Contents
+ ################################################### -->
+
+ <!-- Generate the TOCs for named components only -->
+ <xsl:param name="generate.toc">
+ book toc
+ </xsl:param>
+
+ <!-- Show only Sections up to level 3 in the TOCs -->
+ <xsl:param name="toc.section.depth">2</xsl:param>
+
+ <!-- Dot and Whitespace as separator in TOC between Label and Title-->
+ <xsl:param name="autotoc.label.separator" select="'. '"/>
+
+
+ <!--###################################################
+ Paper & Page Size
+ ################################################### -->
+
+ <!-- Paper type, no headers on blank pages, no double sided printing -->
+ <xsl:param name="paper.type" select="'A4'"/>
+ <xsl:param name="double.sided">0</xsl:param>
+ <xsl:param name="headers.on.blank.pages">0</xsl:param>
+ <xsl:param name="footers.on.blank.pages">0</xsl:param>
+
+ <!-- Space between paper border and content (chaotic stuff, don't touch) -->
+ <xsl:param name="page.margin.top">5mm</xsl:param>
+ <xsl:param name="region.before.extent">10mm</xsl:param>
+ <xsl:param name="body.margin.top">10mm</xsl:param>
+
+ <xsl:param name="body.margin.bottom">15mm</xsl:param>
+ <xsl:param name="region.after.extent">10mm</xsl:param>
+ <xsl:param name="page.margin.bottom">0mm</xsl:param>
+
+ <xsl:param name="page.margin.outer">18mm</xsl:param>
+ <xsl:param name="page.margin.inner">18mm</xsl:param>
+
+ <!-- No intendation of Titles -->
+ <xsl:param name="title.margin.left">0pc</xsl:param>
+
+ <!--###################################################
+ Fonts & Styles
+ ################################################### -->
+
+ <!-- Left aligned text and no hyphenation -->
+ <xsl:param name="alignment">justify</xsl:param>
+ <xsl:param name="hyphenate">false</xsl:param>
+
+ <!-- Default Font size -->
+ <xsl:param name="body.font.master">11</xsl:param>
+ <xsl:param name="body.font.small">8</xsl:param>
+
+ <!-- Line height in body text -->
+ <xsl:param name="line-height">1.4</xsl:param>
+
+ <!-- Monospaced fonts are smaller than regular text -->
+ <xsl:attribute-set name="monospace.properties">
+ <xsl:attribute name="font-family">
+ <xsl:value-of select="$monospace.font.family"/>
+ </xsl:attribute>
+ <xsl:attribute name="font-size">0.8em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!--###################################################
+ Tables
+ ################################################### -->
+
+ <!-- The table width should be adapted to the paper size -->
+ <xsl:param name="default.table.width">17.4cm</xsl:param>
+
+ <!-- Some padding inside tables -->
+ <xsl:attribute-set name="table.cell.padding">
+ <xsl:attribute name="padding-left">4pt</xsl:attribute>
+ <xsl:attribute name="padding-right">4pt</xsl:attribute>
+ <xsl:attribute name="padding-top">4pt</xsl:attribute>
+ <xsl:attribute name="padding-bottom">4pt</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Only hairlines as frame and cell borders in tables -->
+ <xsl:param name="table.frame.border.thickness">0.1pt</xsl:param>
+ <xsl:param name="table.cell.border.thickness">0.1pt</xsl:param>
+
+ <!--###################################################
+ Labels
+ ################################################### -->
+
+ <!-- Label Chapters and Sections (numbering) -->
+ <xsl:param name="chapter.autolabel">1</xsl:param>
+ <xsl:param name="section.autolabel" select="1"/>
+ <xsl:param name="section.label.includes.component.label" select="1"/>
+
+ <!--###################################################
+ Titles
+ ################################################### -->
+
+ <!-- Chapter title size -->
+ <xsl:attribute-set name="chapter.titlepage.recto.style">
+ <xsl:attribute name="text-align">left</xsl:attribute>
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
+ <xsl:attribute name="font-size">
+ <xsl:value-of select="$body.font.master * 1.8"/>
+ <xsl:text>pt</xsl:text>
+ </xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Why is the font-size for chapters hardcoded in the XSL FO templates?
+ Let's remove it, so this sucker can use our attribute-set only... -->
+ <xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
+ <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ xsl:use-attribute-sets="chapter.titlepage.recto.style">
+ <xsl:call-template name="component.title">
+ <xsl:with-param name="node" select="ancestor-or-self::chapter[1]"/>
+ </xsl:call-template>
+ </fo:block>
+ </xsl:template>
+
+ <!-- Sections 1, 2 and 3 titles have a small bump factor and padding -->
+ <xsl:attribute-set name="section.title.level1.properties">
+ <xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
+ <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
+ <xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
+ <xsl:attribute name="font-size">
+ <xsl:value-of select="$body.font.master * 1.5"/>
+ <xsl:text>pt</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="space-after.optimum">0.1em</xsl:attribute>
+ <xsl:attribute name="space-after.minimum">0.1em</xsl:attribute>
+ <xsl:attribute name="space-after.maximum">0.1em</xsl:attribute>
+ </xsl:attribute-set>
+ <xsl:attribute-set name="section.title.level2.properties">
+ <xsl:attribute name="space-before.optimum">0.6em</xsl:attribute>
+ <xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
+ <xsl:attribute name="space-before.maximum">0.6em</xsl:attribute>
+ <xsl:attribute name="font-size">
+ <xsl:value-of select="$body.font.master * 1.25"/>
+ <xsl:text>pt</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="space-after.optimum">0.1em</xsl:attribute>
+ <xsl:attribute name="space-after.minimum">0.1em</xsl:attribute>
+ <xsl:attribute name="space-after.maximum">0.1em</xsl:attribute>
+ </xsl:attribute-set>
+ <xsl:attribute-set name="section.title.level3.properties">
+ <xsl:attribute name="space-before.optimum">0.4em</xsl:attribute>
+ <xsl:attribute name="space-before.minimum">0.4em</xsl:attribute>
+ <xsl:attribute name="space-before.maximum">0.4em</xsl:attribute>
+ <xsl:attribute name="font-size">
+ <xsl:value-of select="$body.font.master * 1.0"/>
+ <xsl:text>pt</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="space-after.optimum">0.1em</xsl:attribute>
+ <xsl:attribute name="space-after.minimum">0.1em</xsl:attribute>
+ <xsl:attribute name="space-after.maximum">0.1em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Titles of formal objects (tables, examples, ...) -->
+ <xsl:attribute-set name="formal.title.properties" use-attribute-sets="normal.para.spacing">
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
+ <xsl:attribute name="font-size">
+ <xsl:value-of select="$body.font.master"/>
+ <xsl:text>pt</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="hyphenate">false</xsl:attribute>
+ <xsl:attribute name="space-after.minimum">0.4em</xsl:attribute>
+ <xsl:attribute name="space-after.optimum">0.6em</xsl:attribute>
+ <xsl:attribute name="space-after.maximum">0.8em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!--###################################################
+ Programlistings
+ ################################################### -->
+
+ <!-- Verbatim text formatting (programlistings) -->
+ <xsl:attribute-set name="monospace.verbatim.properties">
+ <xsl:attribute name="font-size">
+ <xsl:value-of select="$body.font.small * 1.0"/>
+ <xsl:text>pt</xsl:text>
+ </xsl:attribute>
+ </xsl:attribute-set>
+
+ <xsl:attribute-set name="verbatim.properties">
+ <xsl:attribute name="space-before.minimum">1em</xsl:attribute>
+ <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
+ <xsl:attribute name="space-before.maximum">1em</xsl:attribute>
+ <xsl:attribute name="border-color">#444444</xsl:attribute>
+ <xsl:attribute name="border-style">solid</xsl:attribute>
+ <xsl:attribute name="border-width">0.1pt</xsl:attribute>
+ <xsl:attribute name="padding-top">0.5em</xsl:attribute>
+ <xsl:attribute name="padding-left">0.5em</xsl:attribute>
+ <xsl:attribute name="padding-right">0.5em</xsl:attribute>
+ <xsl:attribute name="padding-bottom">0.5em</xsl:attribute>
+ <xsl:attribute name="margin-left">0.5em</xsl:attribute>
+ <xsl:attribute name="margin-right">0.5em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Shade (background) programlistings -->
+ <xsl:param name="shade.verbatim">1</xsl:param>
+ <xsl:attribute-set name="shade.verbatim.style">
+ <xsl:attribute name="background-color">#F0F0F0</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!--###################################################
+ Callouts
+ ################################################### -->
+
+ <!-- Use images for callouts instead of (1) (2) (3) -->
+ <xsl:param name="callout.graphics">0</xsl:param>
+ <xsl:param name="callout.unicode">1</xsl:param>
+
+ <!-- Place callout marks at this column in annotated areas -->
+ <xsl:param name="callout.defaultcolumn">90</xsl:param>
+
+ <!--###################################################
+ Admonitions
+ ################################################### -->
+
+ <!-- Use nice graphics for admonitions -->
+ <xsl:param name="admon.graphics">'1'</xsl:param>
+ <xsl:param name="admon.graphics.path">src/docbkx/resources/images/admons/</xsl:param>
+
+ <!--###################################################
+ Misc
+ ################################################### -->
+
+ <!-- Placement of titles -->
+ <xsl:param name="formal.title.placement">
+ figure after
+ example before
+ equation before
+ table before
+ procedure before
+ </xsl:param>
+
+ <!-- Format Variable Lists as Blocks (prevents horizontal overflow) -->
+ <xsl:param name="variablelist.as.blocks">1</xsl:param>
+
+ <!-- The horrible list spacing problems -->
+ <xsl:attribute-set name="list.block.spacing">
+ <xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
+ <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
+ <xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
+ <xsl:attribute name="space-after.optimum">0.1em</xsl:attribute>
+ <xsl:attribute name="space-after.minimum">0.1em</xsl:attribute>
+ <xsl:attribute name="space-after.maximum">0.1em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!--###################################################
+ colored and hyphenated links
+ ################################################### -->
+ <xsl:template match="ulink">
+ <fo:basic-link external-destination="{@url}"
+ xsl:use-attribute-sets="xref.properties"
+ text-decoration="underline"
+ color="blue">
+ <xsl:choose>
+ <xsl:when test="count(child::node())=0">
+ <xsl:value-of select="@url"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </fo:basic-link>
+ </xsl:template>
+
+ <xsl:template match="link">
+ <fo:basic-link internal-destination="{@linkend}"
+ xsl:use-attribute-sets="xref.properties"
+ text-decoration="underline"
+ color="blue">
+ <xsl:choose>
+ <xsl:when test="count(child::node())=0">
+ <xsl:value-of select="@linkend"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </fo:basic-link>
+ </xsl:template>
+ <!--
+
+ <xsl:template match="xref">
+ <fo:basic-link internal-destination="{@linkend}"
+ xsl:use-attribute-sets="xref.properties"
+ text-decoration="underline"
+ color="blue">
+ <xsl:apply-templates/>
+ </fo:basic-link>
+ </xsl:template>
+ -->
+
+</xsl:stylesheet>
41 resources/src/main/resources/docbkx/xsl/common.xsl
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xslthl="http://xslthl.sf.net"
+ exclude-result-prefixes="xslthl"
+ version='1.0'>
+
+ <!-- Extensions -->
+ <xsl:param name="use.extensions">1</xsl:param>
+ <xsl:param name="tablecolumns.extension">0</xsl:param>
+ <xsl:param name="callout.extensions">1</xsl:param>
+
+ <!-- Graphics -->
+ <xsl:param name="admon.graphics" select="1"/>
+ <xsl:param name="admon.graphics.path">images/</xsl:param>
+ <xsl:param name="admon.graphics.extension">.png</xsl:param>
+
+ <!-- Table of Contents -->
+ <xsl:param name="generate.toc">book toc,title</xsl:param>
+ <xsl:param name="toc.section.depth">3</xsl:param>
+
+</xsl:stylesheet>
75 resources/src/main/resources/docbkx/xsl/html-multipage.xsl
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xslthl="http://xslthl.sf.net"
+ exclude-result-prefixes="xslthl"
+ version='1.0'>
+
+ <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"/>
+ <xsl:import href="html.xsl"/>
+
+ <xsl:param name="html.stylesheet">css/manual-multipage.css</xsl:param>
+
+ <xsl:param name="chunk.section.depth">'5'</xsl:param>
+ <xsl:param name="use.id.as.filename">'1'</xsl:param>
+
+ <!-- Replace chunk-element-content from chunk-common to add firstpage class to body -->
+ <xsl:template name="chunk-element-content">
+ <xsl:param name="prev"/>
+ <xsl:param name="next"/>
+ <xsl:param name="nav.context"/>
+ <xsl:param name="content">
+ <xsl:apply-imports/>
+ </xsl:param>
+
+ <xsl:call-template name="user.preroot"/>
+
+ <html>
+ <xsl:call-template name="html.head">
+ <xsl:with-param name="prev" select="$prev"/>
+ <xsl:with-param name="next" select="$next"/>
+ </xsl:call-template>
+ <body>
+ <xsl:if test="count($prev) = 0">
+ <xsl:attribute name="class">firstpage</xsl:attribute>
+ </xsl:if>
+ <xsl:call-template name="body.attributes"/>
+ <xsl:call-template name="user.header.navigation"/>
+ <xsl:call-template name="header.navigation">
+ <xsl:with-param name="prev" select="$prev"/>
+ <xsl:with-param name="next" select="$next"/>
+ <xsl:with-param name="nav.context" select="$nav.context"/>
+ </xsl:call-template>
+ <xsl:call-template name="user.header.content"/>
+ <xsl:copy-of select="$content"/>
+ <xsl: