title: Supporting DocBook olink in Maven Project
body: <p>I introduced my current project at work to DocBook for creating our user's guide. We have now split into two separate documents and I'm trying to get cross-linking between the documents working. I've got the .db files being generated now. But in doing so the html files no longer have any content (I've disabled pdf until I can get the html working). The generated xml files seem to be complete, they're just not getting transformed into html. Any help would be greatly appreciated.</p>
  
  <p>src.xml:</p>
  
  <pre><code>&lt;assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd"&gt;
    &lt;id&gt;release&lt;/id&gt;
    &lt;formats&gt;
      &lt;format&gt;jar&lt;/format&gt;
    &lt;/formats&gt;
    &lt;includeBaseDirectory&gt;false&lt;/includeBaseDirectory&gt;
    &lt;baseDirectory&gt;swac-home&lt;/baseDirectory&gt;
    &lt;!--files&gt;
        &lt;file&gt;
            &lt;source&gt;target/docbkx/pdf/swac-reference-manual.pdf&lt;/source&gt;
            &lt;fileMode&gt;0444&lt;/fileMode&gt;
        &lt;/file&gt;
        &lt;file&gt;
            &lt;source&gt;target/docbkx/pdf/swac-analysts-guide.pdf&lt;/source&gt;
            &lt;fileMode&gt;0444&lt;/fileMode&gt;
        &lt;/file&gt;
    &lt;/files--&gt;
    &lt;fileSets&gt;
        &lt;fileSet&gt;
            &lt;directory&gt;target/docbkx/html&lt;/directory&gt;
        &lt;outputDirectory&gt;html&lt;/outputDirectory&gt;
            &lt;fileMode&gt;0444&lt;/fileMode&gt;
        &lt;/fileSet&gt;
        &lt;fileSet&gt;
            &lt;excludes&gt;
                &lt;!--exclude&gt;*.pdf&lt;/exclude--&gt;
            &lt;/excludes&gt;
            &lt;directory&gt;src/docbkx/images&lt;/directory&gt;
            &lt;outputDirectory&gt;html/images&lt;/outputDirectory&gt;
            &lt;fileMode&gt;0444&lt;/fileMode&gt;
        &lt;/fileSet&gt;
    &lt;/fileSets&gt;
  &lt;/assembly&gt;
  </code></pre>
  
  <p>pom.xml:</p>
  
  <pre><code>&lt;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/maven-v4_0_0.xsd"&gt;
      &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
      &lt;parent&gt;
          &lt;artifactId&gt;swac-parent&lt;/artifactId&gt;
          &lt;groupId&gt;gov.faa.ang.swac&lt;/groupId&gt;
          &lt;version&gt;1.7-SNAPSHOT&lt;/version&gt;
      &lt;/parent&gt;
      &lt;artifactId&gt;swac-documentation&lt;/artifactId&gt;
      &lt;name&gt;SWAC Documentation&lt;/name&gt;
      &lt;packaging&gt;pom&lt;/packaging&gt;
  
      &lt;properties&gt;
          &lt;project.build.sourceEncoding&gt;UTF-8&lt;/project.build.sourceEncoding&gt;
      &lt;/properties&gt;
  
      &lt;build&gt;
          &lt;resources&gt;
              &lt;resource&gt;
                  &lt;directory&gt;src&lt;/directory&gt;
              &lt;/resource&gt;
          &lt;/resources&gt;
          &lt;plugins&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;com.agilejava.docbkx&lt;/groupId&gt;
                  &lt;artifactId&gt;docbkx-maven-plugin&lt;/artifactId&gt;
                  &lt;version&gt;2.0.14&lt;/version&gt;
                  &lt;configuration&gt;
                      &lt;!-- shared configuration --&gt;
                      &lt;generatedSourceDirectory&gt;${project.build.directory}/docbkx/generated&lt;/generatedSourceDirectory&gt;
                      &lt;xincludeSupported&gt;true&lt;/xincludeSupported&gt;
                      &lt;paperType&gt;Letter&lt;/paperType&gt;
                      &lt;fop1Extensions&gt;1&lt;/fop1Extensions&gt;
                      &lt;customizationParameters&gt;
                          &lt;!-- additional XSLT parameters--&gt;
                          &lt;!--parameter&gt;
                              &lt;name&gt;key&lt;/name&gt;
                              &lt;value&gt;value&lt;/value&gt;
                          &lt;/parameter--&gt;
                      &lt;/customizationParameters&gt;
                  &lt;/configuration&gt;
                  &lt;executions&gt;
                      &lt;execution&gt;
                          &lt;id&gt;olinkdb-bogus-guide&lt;/id&gt;
                          &lt;phase&gt;process-sources&lt;/phase&gt;
                          &lt;configuration&gt;
                              &lt;currentDocid&gt;bogus-guide&lt;/currentDocid&gt;
                              &lt;includes&gt;swac-analysts-guide.xml&lt;/includes&gt;
                              &lt;collectXrefTargets&gt;only&lt;/collectXrefTargets&gt;
                              &lt;targetsFilename&gt;${project.build.directory}/docbkx/generated/guide.html-target.db&lt;/targetsFilename&gt;
                              &lt;postProcess&gt;
                                 &lt;!--delete file="${project.build.directory}/docbkx/generated/html/bogus-guide.html" /--&gt;
                              &lt;/postProcess&gt;
                          &lt;/configuration&gt;
                          &lt;goals&gt;
                              &lt;goal&gt;generate-html&lt;/goal&gt;
                          &lt;/goals&gt;
                      &lt;/execution&gt;
                      &lt;execution&gt;
                          &lt;id&gt;olinkdb-bogus-manual&lt;/id&gt;
                          &lt;phase&gt;process-sources&lt;/phase&gt;
                          &lt;configuration&gt;
                              &lt;currentDocid&gt;bogus-manual&lt;/currentDocid&gt;
                              &lt;includes&gt;swac-reference-manual.xml&lt;/includes&gt;
                              &lt;collectXrefTargets&gt;only&lt;/collectXrefTargets&gt;
                              &lt;targetsFilename&gt;${project.build.directory}/docbkx/generated/manual.html-target.db&lt;/targetsFilename&gt;
                              &lt;postProcess&gt;
                                 &lt;!--delete file="${project.build.directory}/docbkx/generated/html/bogus-manual.html" /--&gt;
                              &lt;/postProcess&gt;
                          &lt;/configuration&gt;
                          &lt;goals&gt;
                              &lt;goal&gt;generate-html&lt;/goal&gt;
                          &lt;/goals&gt;
                      &lt;/execution&gt;
                      &lt;execution&gt;
                          &lt;id&gt;reference manual&lt;/id&gt;
                          &lt;phase&gt;process-sources&lt;/phase&gt;
                          &lt;goals&gt;
                              &lt;goal&gt;generate-html&lt;/goal&gt;
                              &lt;!--goal&gt;generate-pdf&lt;/goal--&gt;
                          &lt;/goals&gt;
                          &lt;configuration&gt;
                              &lt;!-- per execution configuration --&gt;
                              &lt;targetDatabaseDocument&gt;guide.target.db&lt;/targetDatabaseDocument&gt;
                              &lt;xincludeSupported&gt;true&lt;/xincludeSupported&gt;
                              &lt;includes&gt;swac-reference-manual.xml&lt;/includes&gt;
                              &lt;draftMode&gt;no&lt;/draftMode&gt;
                          &lt;/configuration&gt;
                      &lt;/execution&gt;
                      &lt;execution&gt;
                          &lt;id&gt;analysts guide&lt;/id&gt;
                          &lt;phase&gt;process-sources&lt;/phase&gt;
                          &lt;goals&gt;
                              &lt;goal&gt;generate-html&lt;/goal&gt;
                              &lt;!--goal&gt;generate-pdf&lt;/goal--&gt;
                          &lt;/goals&gt;
                          &lt;configuration&gt;
                              &lt;!-- per execution configuration --&gt;
                              &lt;targetDatabaseDocument&gt;manual.target.db&lt;/targetDatabaseDocument&gt;
                              &lt;xincludeSupported&gt;true&lt;/xincludeSupported&gt;
                              &lt;includes&gt;swac-analysts-guide.xml&lt;/includes&gt;
                              &lt;draftMode&gt;no&lt;/draftMode&gt;
                          &lt;/configuration&gt;
                      &lt;/execution&gt;
                  &lt;/executions&gt;
                  &lt;dependencies&gt;
                      &lt;dependency&gt;
                          &lt;groupId&gt;net.sf.docbook&lt;/groupId&gt;
                          &lt;artifactId&gt;docbook-xml&lt;/artifactId&gt;
                          &lt;version&gt;5.0-all&lt;/version&gt;
                          &lt;classifier&gt;resources&lt;/classifier&gt;
                          &lt;type&gt;zip&lt;/type&gt;
                          &lt;scope&gt;runtime&lt;/scope&gt;
                      &lt;/dependency&gt;
                  &lt;/dependencies&gt;
              &lt;/plugin&gt;
              &lt;plugin&gt;
                  &lt;artifactId&gt;maven-assembly-plugin&lt;/artifactId&gt;
                  &lt;configuration&gt;
                      &lt;descriptors&gt;
                          &lt;descriptor&gt;src/assembly/src.xml&lt;/descriptor&gt;
                      &lt;/descriptors&gt;
                      &lt;appendAssemblyId&gt;false&lt;/appendAssemblyId&gt;
                  &lt;/configuration&gt;
                  &lt;executions&gt;
                      &lt;execution&gt;
                          &lt;id&gt;make-assembly&lt;/id&gt;
                          &lt;phase&gt;package&lt;/phase&gt;
                          &lt;goals&gt;
                              &lt;goal&gt;single&lt;/goal&gt;
                          &lt;/goals&gt;
                      &lt;/execution&gt;
                  &lt;/executions&gt;
              &lt;/plugin&gt;
              &lt;plugin&gt;
                  &lt;artifactId&gt;maven-install-plugin&lt;/artifactId&gt;
                  &lt;version&gt;2.2&lt;/version&gt;
              &lt;/plugin&gt;
          &lt;/plugins&gt;
      &lt;/build&gt;
  &lt;/project&gt;
  </code></pre>
  
  <p>debug output:</p>
  
  <pre><code>...
  [DEBUG] All known ContainerDescriptorHandler components: [metaInf-services, plexus, file-aggregator, metaInf-spring]
  [DEBUG] Cannot find ArtifactResolver with hint: project-cache-aware
  org.codehaus.plexus.component.repository.exception.ComponentLookupException: java.util.NoSuchElementException
        role: org.apache.maven.artifact.resolver.ArtifactResolver
    roleHint: project-cache-aware
      at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:264)
      at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:240)
      at org.apache.maven.shared.repository.DefaultRepositoryAssembler.contextualize(DefaultRepositoryAssembler.java:721)
      at org.eclipse.sisu.plexus.PlexusLifecycleManager.contextualize(PlexusLifecycleManager.java:322)
      at org.eclipse.sisu.plexus.PlexusLifecycleManager.manageLifecycle(PlexusLifecycleManager.java:297)
      at org.eclipse.sisu.plexus.PlexusLifecycleManager.onProvision(PlexusLifecycleManager.java:143)
      at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:109)
      at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
      at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68)
      at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47)
      at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
      at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1054)
      at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
      at com.google.inject.Scopes$1$1.get(Scopes.java:59)
      at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
      at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:997)
      at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1047)
      at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:993)
      at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:82)
      at org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51)
      at org.eclipse.sisu.wire.EntryListAdapter$ValueIterator.next(EntryListAdapter.java:111)
      at org.apache.maven.plugin.assembly.archive.DefaultAssemblyArchiver.createArchive(DefaultAssemblyArchiver.java:180)
      at org.apache.maven.plugin.assembly.mojos.AbstractAssemblyMojo.execute(AbstractAssemblyMojo.java:445)
      at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
      at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
      at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
      at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
      at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
      at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
      at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
      at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
      at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:606)
      at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
      at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
      at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
      at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
  Caused by: java.util.NoSuchElementException
      at java.util.Collections$EmptyIterator.next(Collections.java:3006)
      at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:260)
      ... 43 more
  [DEBUG] No dependency sets specified.
  [DEBUG] FileSet[html/] dir perms: -1 file perms: -1
  [DEBUG] The archive base directory is 'null'
  [DEBUG] NOT reformatting any files in C:\Users\ssmitz\Documents\NetBeansProjects\trunk\swac-users-guide\target\docbkx\html
  [DEBUG] Adding file-set from directory: 'C:\Users\ssmitz\Documents\NetBeansProjects\trunk\swac-users-guide\target\docbkx\html'
  assembly output directory is: 'html/'
  [DEBUG] Adding file-set in: C:\Users\ssmitz\Documents\NetBeansProjects\trunk\swac-users-guide\target\docbkx\html to archive location: html/
  [DEBUG] FileSet[html/images/] dir perms: -1 file perms: 107777
  [DEBUG] The archive base directory is 'null'
  [DEBUG] NOT reformatting any files in C:\Users\ssmitz\Documents\NetBeansProjects\trunk\swac-users-guide\src\docbkx\images
  [DEBUG] Adding file-set from directory: 'C:\Users\ssmitz\Documents\NetBeansProjects\trunk\swac-users-guide\src\docbkx\images'
  assembly output directory is: 'html/images/'
  [DEBUG] Adding file-set in: C:\Users\ssmitz\Documents\NetBeansProjects\trunk\swac-users-guide\src\docbkx\images to archive location: html/images/
  [INFO] Building jar: C:\Users\ssmitz\Documents\NetBeansProjects\trunk\swac-users-guide\target\swac-documentation-1.7-SNAPSHOT.jar
  ...
  </code></pre>