I just checked out and build doxia from the source, and I get the following
stack trace from the goal doxia:render-books. I do not get
then error with 1.0-alpha-11.
o The book is composed on 2 chapters with section of apt document
o apt documents contain only text bocks, not figures or links.
o excerpt of plugin configuration in pom is below.
o book.xml is below.
***
* Stack Trace
***
+ Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'doxia'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Database Backup Scripts
[INFO] task-segment: [doxia:render-books]
[INFO] ------------------------------------------------------------------------
-----------------------------------------------------
this realm = app0.child-container[org.apache.maven.doxia:doxia-maven-plugin]
urls[0] = file:/C:/Documents and
Settings/paul/.m2/repository/org/apache/maven/doxia/doxia-maven-plugin/1.0-beta-1-SNAPSHOT/doxia-maven-plugin-1.0-beta-1-SNAPSHOT.jar
urls[1] = file:/C:/Documents and
Settings/paul/.m2/repository/org/apache/maven/doxia/doxia-book/1.0-beta-1-SNAPSHOT/doxia-book-1.0-beta-1-SNAPSHOT.jar
urls[2] = file:/C:/Documents and
Settings/paul/.m2/repository/org/apache/maven/doxia/doxia-core/1.0-beta-1-SNAPSHOT/doxia-core-1.0-beta-1-SNAPSHOT.jar
urls[3] = file:/C:/Documents and
Settings/paul/.m2/repository/org/apache/maven/doxia/doxia-logging-api/1.0-beta-1-SNAPSHOT/doxia-logging-api-1.0-beta-1-SNAPSHOT.jar
urls[4] = file:/C:/Documents and
Settings/paul/.m2/repository/org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.jar
urls[5] = file:/C:/Documents and
Settings/paul/.m2/repository/xerces/xercesImpl/2.8.1/xercesImpl-2.8.1.jar
urls[6] = file:/C:/Documents and
Settings/paul/.m2/repository/xml-apis/xml-apis/1.3.03/xml-apis-1.3.03.jar
urls[7] = file:/C:/Documents and
Settings/paul/.m2/repository/org/apache/maven/doxia/doxia-module-xdoc/1.0-beta-1-SNAPSHOT/doxia-module-xdoc-1.0-beta-1-SNAPSHOT.jar
urls[8] = file:/C:/Documents and
Settings/paul/.m2/repository/org/apache/maven/doxia/doxia-module-xhtml/1.0-beta-1-SNAPSHOT/doxia-module-xhtml-1.0-beta-1-SNAPSHOT.jar
urls[9] = file:/C:/Documents and
Settings/paul/.m2/repository/org/apache/maven/doxia/doxia-module-apt/1.0-beta-1-SNAPSHOT/doxia-module-apt-1.0-beta-1-SNAPSHOT.jar
urls[10] = file:/C:/Documents and
Settings/paul/.m2/repository/org/apache/maven/doxia/doxia-module-itext/1.0-beta-1-SNAPSHOT/doxia-module-itext-1.0-beta-1-SNAPSHOT.jar
urls[11] = file:/C:/Documents and
Settings/paul/.m2/repository/com/lowagie/itext/1.4/itext-1.4.jar
urls[12] = file:/C:/Documents and
Settings/paul/.m2/repository/org/apache/maven/doxia/doxia-module-latex/1.0-beta-1-SNAPSHOT/doxia-module-latex-1.0-beta-1-SNAPSHOT.jar
urls[13] = file:/C:/Documents and
Settings/paul/.m2/repository/org/apache/maven/doxia/doxia-module-docbook-simple/1.0-beta-1-SNAPSHOT/doxia-module-docbook-simple-1.0-beta-1-SNAPSHOT.jar
urls[14] = file:/C:/Documents and
Settings/paul/.m2/repository/org/codehaus/plexus/plexus-i18n/1.0-beta-6/plexus-i18n-1.0-beta-6.jar
urls[15] = file:/C:/Documents and
Settings/paul/.m2/repository/org/codehaus/plexus/plexus-cli/1.0/plexus-cli-1.0.jar
Number of imports: 6
import: [EMAIL PROTECTED]
import: [EMAIL PROTECTED]
import: [EMAIL PROTECTED]
import: [EMAIL PROTECTED]
import: [EMAIL PROTECTED]
import: [EMAIL PROTECTED]
this realm = plexus.core
urls[0] = file:/c:/apache/apache-maven-2.0.9/lib/maven-2.0.9-uber.jar
Number of imports: 6
import: [EMAIL PROTECTED]
import: [EMAIL PROTECTED]
import: [EMAIL PROTECTED]
import: [EMAIL PROTECTED]
import: [EMAIL PROTECTED]
import: [EMAIL PROTECTED]
-----------------------------------------------------
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Internal error in the plugin manager executing goal
'org.apache.maven.doxia:doxia-maven-plugin:1.0-beta-1-SNAPSHOT:render-books':
Unable to find the mojo
'org.apache.maven.doxia:doxia-maven-plugin:1.0-beta-1-SNAPSHOT:render-books' in
the plugi
n 'org.apache.maven.doxia:doxia-maven-plugin'
org/apache/maven/doxia/sink/SinkEventAttributes
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Internal error in the
plugin manager executing goal
'org.apache.maven.doxia:doxia-maven-plugin:1.0-beta-1-SNAPSHOT:render-books':
Unable to find the mojo 'org.apache.maven.doxia:doxia-maven-plug
in:1.0-beta-1-SNAPSHOT:render-books' in the plugin
'org.apache.maven.doxia:doxia-maven-plugin'
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:562)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:512)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:482)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.PluginManagerException: Unable to find the
mojo
'org.apache.maven.doxia:doxia-maven-plugin:1.0-beta-1-SNAPSHOT:render-books' in
the plugin 'org.apache.maven.doxia:doxia-maven-plugin'
at
org.apache.maven.plugin.DefaultPluginManager.getConfiguredMojo(DefaultPluginManager.java:618)
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:429)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558)
... 16 more
Caused by:
org.codehaus.plexus.component.repository.exception.ComponentLookupException:
Unable to lookup component
'org.apache.maven.plugin.Mojoorg.apache.maven.doxia:doxia-maven-plugin:1.0-beta-1-SNAPSHOT:render-books',
it could not be started
at
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:339)
at
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:440)
at
org.apache.maven.plugin.DefaultPluginManager.getConfiguredMojo(DefaultPluginManager.java:609)
... 18 more
Caused by:
org.codehaus.plexus.component.repository.exception.ComponentLifecycleException:
Error starting component
at
org.codehaus.plexus.component.manager.AbstractComponentManager.startComponentLifecycle(AbstractComponentManager.java:109)
at
org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:95)
at
org.codehaus.plexus.component.manager.PerLookupComponentManager.getComponent(PerLookupComponentManager.java:48)
at
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:331)
... 20 more
Caused by:
org.codehaus.plexus.personality.plexus.lifecycle.phase.PhaseExecutionException:
Error composing component
at
org.codehaus.plexus.personality.plexus.lifecycle.phase.CompositionPhase.execute(CompositionPhase.java:33)
at
org.codehaus.plexus.lifecycle.AbstractLifecycleHandler.start(AbstractLifecycleHandler.java:101)
at
org.codehaus.plexus.component.manager.AbstractComponentManager.startComponentLifecycle(AbstractComponentManager.java:105)
... 23 more
Caused by: org.codehaus.plexus.component.composition.CompositionException:
Composition failed of field bookDoxia in object of type
org.apache.maven.doxia.plugin.DoxiaRenderBooksMojo because the requirement
ComponentRequirement{role='org.apache.maven.
doxia.book.BookDoxia', roleHint='null', fieldName='bookDoxia'} was missing
at
org.codehaus.plexus.component.composition.FieldComponentComposer.assignRequirementToField(FieldComponentComposer.java:154)
at
org.codehaus.plexus.component.composition.FieldComponentComposer.assembleComponent(FieldComponentComposer.java:73)
at
org.codehaus.plexus.component.composition.DefaultComponentComposerManager.assembleComponent(DefaultComponentComposerManager.java:68)
at
org.codehaus.plexus.DefaultPlexusContainer.composeComponent(DefaultPlexusContainer.java:1486)
at
org.codehaus.plexus.personality.plexus.lifecycle.phase.CompositionPhase.execute(CompositionPhase.java:29)
... 25 more
Caused by:
org.codehaus.plexus.component.repository.exception.ComponentLookupException:
Unable to lookup component 'org.apache.maven.doxia.book.BookDoxia', it could
not be started
at
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:339)
at
org.codehaus.plexus.component.composition.FieldComponentComposer.assignRequirementToField(FieldComponentComposer.java:129)
... 29 more
Caused by:
org.codehaus.plexus.component.repository.exception.ComponentLifecycleException:
Error starting component
at
org.codehaus.plexus.component.manager.AbstractComponentManager.startComponentLifecycle(AbstractComponentManager.java:109)
at
org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:95)
at
org.codehaus.plexus.component.manager.ClassicSingletonComponentManager.getComponent(ClassicSingletonComponentManager.java:92)
at
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:331)
... 30 more
Caused by:
org.codehaus.plexus.personality.plexus.lifecycle.phase.PhaseExecutionException:
Error composing component
at
org.codehaus.plexus.personality.plexus.lifecycle.phase.CompositionPhase.execute(CompositionPhase.java:33)
at
org.codehaus.plexus.lifecycle.AbstractLifecycleHandler.start(AbstractLifecycleHandler.java:101)
at
org.codehaus.plexus.component.manager.AbstractComponentManager.startComponentLifecycle(AbstractComponentManager.java:105)
... 33 more
Caused by: org.codehaus.plexus.component.composition.CompositionException:
Composition failed of field bookIndexer in object of type
org.apache.maven.doxia.book.DefaultBookDoxia because the requirement
ComponentRequirement{role='org.apache.maven.doxi
a.book.services.indexer.BookIndexer', roleHint='null', fieldName='bookIndexer'}
was missing
at
org.codehaus.plexus.component.composition.FieldComponentComposer.assignRequirementToField(FieldComponentComposer.java:154)
at
org.codehaus.plexus.component.composition.FieldComponentComposer.assembleComponent(FieldComponentComposer.java:73)
at
org.codehaus.plexus.component.composition.DefaultComponentComposerManager.assembleComponent(DefaultComponentComposerManager.java:68)
at
org.codehaus.plexus.DefaultPlexusContainer.composeComponent(DefaultPlexusContainer.java:1486)
at
org.codehaus.plexus.personality.plexus.lifecycle.phase.CompositionPhase.execute(CompositionPhase.java:29)
... 35 more
Caused by:
org.codehaus.plexus.component.repository.exception.ComponentLookupException:
Unable to lookup component
'org.apache.maven.doxia.book.services.indexer.BookIndexer', it could not be
started
at
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:339)
at
org.codehaus.plexus.component.composition.FieldComponentComposer.assignRequirementToField(FieldComponentComposer.java:129)
... 39 more
Caused by:
org.codehaus.plexus.component.repository.exception.ComponentLifecycleException:
Error starting component
at
org.codehaus.plexus.component.manager.AbstractComponentManager.startComponentLifecycle(AbstractComponentManager.java:109)
at
org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:95)
at
org.codehaus.plexus.component.manager.ClassicSingletonComponentManager.getComponent(ClassicSingletonComponentManager.java:92)
at
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:331)
... 40 more
Caused by:
org.codehaus.plexus.personality.plexus.lifecycle.phase.PhaseExecutionException:
Error composing component
at
org.codehaus.plexus.personality.plexus.lifecycle.phase.CompositionPhase.execute(CompositionPhase.java:33)
at
org.codehaus.plexus.lifecycle.AbstractLifecycleHandler.start(AbstractLifecycleHandler.java:101)
at
org.codehaus.plexus.component.manager.AbstractComponentManager.startComponentLifecycle(AbstractComponentManager.java:105)
... 43 more
Caused by: org.codehaus.plexus.component.composition.CompositionException:
Composition failed of field doxia in object of type
org.apache.maven.doxia.book.services.indexer.DefaultBookIndexer because the
requirement ComponentRequirement{role='org.apac
he.maven.doxia.Doxia', roleHint='null', fieldName='doxia'} was missing
at
org.codehaus.plexus.component.composition.FieldComponentComposer.assignRequirementToField(FieldComponentComposer.java:154)
at
org.codehaus.plexus.component.composition.FieldComponentComposer.assembleComponent(FieldComponentComposer.java:73)
at
org.codehaus.plexus.component.composition.DefaultComponentComposerManager.assembleComponent(DefaultComponentComposerManager.java:68)
at
org.codehaus.plexus.DefaultPlexusContainer.composeComponent(DefaultPlexusContainer.java:1486)
at
org.codehaus.plexus.personality.plexus.lifecycle.phase.CompositionPhase.execute(CompositionPhase.java:29)
... 45 more
Caused by:
org.codehaus.plexus.component.repository.exception.ComponentLookupException:
Unable to lookup component 'org.apache.maven.doxia.Doxia', it could not be
started
at
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:339)
at
org.codehaus.plexus.component.composition.FieldComponentComposer.assignRequirementToField(FieldComponentComposer.java:129)
... 49 more
Caused by:
org.codehaus.plexus.component.repository.exception.ComponentLifecycleException:
Error starting component
at
org.codehaus.plexus.component.manager.AbstractComponentManager.startComponentLifecycle(AbstractComponentManager.java:109)
at
org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:95)
at
org.codehaus.plexus.component.manager.ClassicSingletonComponentManager.getComponent(ClassicSingletonComponentManager.java:92)
at
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:331)
... 50 more
Caused by:
org.codehaus.plexus.personality.plexus.lifecycle.phase.PhaseExecutionException:
Error composing component
at
org.codehaus.plexus.personality.plexus.lifecycle.phase.CompositionPhase.execute(CompositionPhase.java:33)
at
org.codehaus.plexus.lifecycle.AbstractLifecycleHandler.start(AbstractLifecycleHandler.java:101)
at
org.codehaus.plexus.component.manager.AbstractComponentManager.startComponentLifecycle(AbstractComponentManager.java:105)
... 53 more
Caused by: org.codehaus.plexus.component.composition.CompositionException:
Composition failed of field parserManager in object of type
org.apache.maven.doxia.DefaultDoxia because the requirement
ComponentRequirement{role='org.apache.maven.doxia.parse
r.manager.ParserManager', roleHint='null', fieldName='parserManager'} was
missing
at
org.codehaus.plexus.component.composition.FieldComponentComposer.assignRequirementToField(FieldComponentComposer.java:154)
at
org.codehaus.plexus.component.composition.FieldComponentComposer.assembleComponent(FieldComponentComposer.java:73)
at
org.codehaus.plexus.component.composition.DefaultComponentComposerManager.assembleComponent(DefaultComponentComposerManager.java:68)
at
org.codehaus.plexus.DefaultPlexusContainer.composeComponent(DefaultPlexusContainer.java:1486)
at
org.codehaus.plexus.personality.plexus.lifecycle.phase.CompositionPhase.execute(CompositionPhase.java:29)
... 55 more
Caused by:
org.codehaus.plexus.component.repository.exception.ComponentLookupException:
Unable to lookup component
'org.apache.maven.doxia.parser.manager.ParserManager', it could not be started
at
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:339)
at
org.codehaus.plexus.component.composition.FieldComponentComposer.assignRequirementToField(FieldComponentComposer.java:129)
... 59 more
Caused by:
org.codehaus.plexus.component.repository.exception.ComponentLifecycleException:
Error starting component
at
org.codehaus.plexus.component.manager.AbstractComponentManager.startComponentLifecycle(AbstractComponentManager.java:109)
at
org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:95)
at
org.codehaus.plexus.component.manager.ClassicSingletonComponentManager.getComponent(ClassicSingletonComponentManager.java:92)
at
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:331)
... 60 more
Caused by:
org.codehaus.plexus.personality.plexus.lifecycle.phase.PhaseExecutionException:
Error composing component
at
org.codehaus.plexus.personality.plexus.lifecycle.phase.CompositionPhase.execute(CompositionPhase.java:33)
at
org.codehaus.plexus.lifecycle.AbstractLifecycleHandler.start(AbstractLifecycleHandler.java:101)
at
org.codehaus.plexus.component.manager.AbstractComponentManager.startComponentLifecycle(AbstractComponentManager.java:105)
... 63 more
Caused by: org.codehaus.plexus.component.composition.CompositionException:
Composition failed of field parsers in object of type
org.apache.maven.doxia.parser.manager.DefaultParserManager because the
requirement ComponentRequirement{role='org.apache.
maven.doxia.parser.Parser', roleHint='null', fieldName='parsers'} was missing
at
org.codehaus.plexus.component.composition.FieldComponentComposer.assignRequirementToField(FieldComponentComposer.java:154)
at
org.codehaus.plexus.component.composition.FieldComponentComposer.assembleComponent(FieldComponentComposer.java:73)
at
org.codehaus.plexus.component.composition.DefaultComponentComposerManager.assembleComponent(DefaultComponentComposerManager.java:68)
at
org.codehaus.plexus.DefaultPlexusContainer.composeComponent(DefaultPlexusContainer.java:1486)
at
org.codehaus.plexus.personality.plexus.lifecycle.phase.CompositionPhase.execute(CompositionPhase.java:29)
... 65 more
Caused by:
org.codehaus.plexus.component.repository.exception.ComponentLookupException:
Unable to lookup component 'org.apache.maven.doxia.parser.Parserxhtml', it
could not be created
at
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:335)
at
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:440)
at
org.codehaus.plexus.DefaultPlexusContainer.lookupMap(DefaultPlexusContainer.java:390)
at
org.codehaus.plexus.component.composition.FieldComponentComposer.assignRequirementToField(FieldComponentComposer.java:103)
... 69 more
Caused by:
org.codehaus.plexus.component.factory.ComponentInstantiationException: Could
not instanciate component: role: 'org.apache.maven.doxia.parser.Parser',
implementation: 'org.apache.maven.doxia.module.xhtml.XhtmlParser', role hint:
'xhtml'
at
org.codehaus.plexus.component.factory.java.JavaComponentFactory.makeException(JavaComponentFactory.java:77)
at
org.codehaus.plexus.component.factory.java.JavaComponentFactory.newInstance(JavaComponentFactory.java:62)
at
org.codehaus.plexus.DefaultPlexusContainer.createComponentInstance(DefaultPlexusContainer.java:1464)
at
org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:93)
at
org.codehaus.plexus.component.manager.ClassicSingletonComponentManager.getComponent(ClassicSingletonComponentManager.java:92)
at
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:331)
... 72 more
Caused by: java.lang.NoClassDefFoundError:
org/apache/maven/doxia/sink/SinkEventAttributes
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)
at java.lang.Class.getConstructor0(Class.java:2671)
at java.lang.Class.newInstance0(Class.java:321)
at java.lang.Class.newInstance(Class.java:303)
at
org.codehaus.plexus.component.factory.java.JavaComponentFactory.newInstance(JavaComponentFactory.java:44)
... 76 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3 seconds
[INFO] Finished at: Mon Nov 24 13:57:39 EST 2008
[INFO] Final Memory: 4M/9M
[INFO] ------------------------------------------------------------------------
***
* Excerpt from pom.xml
***
<plugin>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-maven-plugin</artifactId>
<version>1.0-beta-1-SNAPSHOT</version>
<executions>
<execution>
<phase>pre-site</phase>
<goals>
<goal>render-books</goal>
</goals>
</execution>
</executions>
<configuration>
<books>
<book>
<directory>src/books/user-guide</directory>
<descriptor>src/books/user-guide/book.xml</descriptor>
<formats>
<format>
<id>xdoc</id>
</format>
</formats>
</book>
</books>
</configuration>
</plugin>
***
* Book.xml
***
<book>
<id>user-guide</id>
<title>Backup Script Users Guide</title>
<author>Joe User</author>
<chapters>
<chapter>
<id>chap_config</id>
<title>Configuration</title>
<sections>
<section>
<id>config_oracle</id>
</section>
<section>
<id>config_cron</id>
</section>
</sections>
</chapter>
<chapter>
<id>chap_procedures</id>
<title>Procedures</title>
<sections>
<section>
<id>recovery</id>
</section>
<section>
<id>testing</id>
<title>Testing</title>
</section>
</sections>
</chapter>
</chapters>
</book>
Paul Spencer