You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Rémy Sanlaville <re...@gmail.com> on 2007/11/20 10:19:41 UTC

Doxia Macro in a xdoc file

Hi,

I wanted to add a TOC to my xdoc files.
In the Doxia web site, the Doxia Macros Guide explains that it exists a TOC
Macro (cf.
http://maven.apache.org/doxia/macros/index.html).

In a xdoc file, it will be:

<macro name="toc">
  <param name="section" value="2"/>
  <param name="fromDepth" value="0"/>
  <param name="toDepth" value="4"/>
</macro>


So I tried it but it does not work.

[ERROR] Error parsing P:\project-site\src\site\xdoc\installation.xml: lin
e [-1] Error parsing the model.
org.apache.maven.doxia.parser.ParseException: Error parsing the model.
        at org.apache.maven.doxia.module.xdoc.XdocParser.parse(
XdocParser.java:55)
        at org.apache.maven.doxia.DefaultDoxia.parse(DefaultDoxia.java:52)
        at
org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.renderDocument(
DefaultSiteRenderer.java:264)
        at
org.apache.maven.doxia.siterenderer.DoxiaDocumentRenderer.renderDocument(
DoxiaDocumentRenderer.java:43)
        at
org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.renderModule(
DefaultSiteRenderer.java:239)
        at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.render(
DefaultSiteRenderer.java:115)
        at org.apache.maven.plugins.site.SiteMojo.renderLocale(SiteMojo.java
:124)
        at org.apache.maven.plugins.site.SiteMojo.execute(SiteMojo.java:92)
        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(
DefaultPluginManager.java:443)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(
DefaultLifecycleExecutor.java:539)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle
(DefaultLifecycleExecutor.java:48
0)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(
DefaultLifecycleExecutor.java:459)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures
(DefaultLifecycleExecutor.jav
a:311)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(
DefaultLifecycleExecutor.java:278)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(
DefaultLifecycleExecutor.java:143)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:280)
        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.doxia.macro.manager.MacroNotFoundException:
Cannot find macro with id = null
        at org.apache.maven.doxia.macro.manager.DefaultMacroManager.getMacro
(DefaultMacroManager.java:43)
        at org.apache.maven.doxia.parser.AbstractParser.executeMacro(
AbstractParser.java:44)
        at org.apache.maven.doxia.module.xdoc.XdocParser.parseXdoc(
XdocParser.java:177)
        at org.apache.maven.doxia.module.xdoc.XdocParser.parse(
XdocParser.java:51)
        ... 25 more

I don't what's wrong and what to do...
I haven't found for the moment a project or sample using the TOC macro.

Rémy

Re: Doxia Macro in a xdoc file

Posted by Rémy Sanlaville <re...@gmail.com>.
Hi Dennis,

You are right it works with the 2.0-beta-6-SNAPSHOT. Thanks for the hint.
I was using the 2.0-beta-5 version.

As the Doxia site has not project summary page (cf.
http://maven.apache.org/doxia/project-info.html), it not possible to know
which version to use. I would be nice to add this information at the Doxia
Macros Guide page (cf.http://maven.apache.org/doxia/macros/index.html).

I give an example how I did it :

mypage.xdoc

<?xml version="1.0" encoding="UTF-8"?>
<document>
  <properties>
    <author email="myAdress@domain.com">Author</author>
    <title>MyTitle page</title>
  </properties>
  <head>
    <meta/>
  </head>
  <body>
    <section name="TOC">
      <macro name="toc">
        <param name="section" value="2"/>
        <param name="fromDepth" value="0"/>
        <param name="toDepth" value="3"/>
      </macro>
    </section>
    <section name="My First Section">
       [...]
    </section>
  </body>
</document>

and in the pom.xml

<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">

    [...]

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <version>2.0-beta-6-SNAPSHOT</version>
      </plugin>
    </plugins>
  </build>

    [...]
</project>

Rémy

Re: Doxia Macro in a xdoc file

Posted by Dennis Lundberg <de...@apache.org>.
Which version of the site-plugin and doxia are you using?

I think that some of the macros are only available in version 
2.0-beta-6-SNAPSHOT of the site-plugin.

Rémy Sanlaville wrote:
> Hi,
> 
> I wanted to add a TOC to my xdoc files.
> In the Doxia web site, the Doxia Macros Guide explains that it exists a TOC
> Macro (cf.
> http://maven.apache.org/doxia/macros/index.html).
> 
> In a xdoc file, it will be:
> 
> <macro name="toc">
>   <param name="section" value="2"/>
>   <param name="fromDepth" value="0"/>
>   <param name="toDepth" value="4"/>
> </macro>
> 
> 
> So I tried it but it does not work.
> 
> [ERROR] Error parsing P:\project-site\src\site\xdoc\installation.xml: lin
> e [-1] Error parsing the model.
> org.apache.maven.doxia.parser.ParseException: Error parsing the model.
>         at org.apache.maven.doxia.module.xdoc.XdocParser.parse(
> XdocParser.java:55)
>         at org.apache.maven.doxia.DefaultDoxia.parse(DefaultDoxia.java:52)
>         at
> org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.renderDocument(
> DefaultSiteRenderer.java:264)
>         at
> org.apache.maven.doxia.siterenderer.DoxiaDocumentRenderer.renderDocument(
> DoxiaDocumentRenderer.java:43)
>         at
> org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.renderModule(
> DefaultSiteRenderer.java:239)
>         at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.render(
> DefaultSiteRenderer.java:115)
>         at org.apache.maven.plugins.site.SiteMojo.renderLocale(SiteMojo.java
> :124)
>         at org.apache.maven.plugins.site.SiteMojo.execute(SiteMojo.java:92)
>         at org.apache.maven.plugin.DefaultPluginManager.executeMojo(
> DefaultPluginManager.java:443)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(
> DefaultLifecycleExecutor.java:539)
>         at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle
> (DefaultLifecycleExecutor.java:48
> 0)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(
> DefaultLifecycleExecutor.java:459)
>         at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures
> (DefaultLifecycleExecutor.jav
> a:311)
>         at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(
> DefaultLifecycleExecutor.java:278)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(
> DefaultLifecycleExecutor.java:143)
>         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334)
>         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
>         at org.apache.maven.cli.MavenCli.main(MavenCli.java:280)
>         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.doxia.macro.manager.MacroNotFoundException:
> Cannot find macro with id = null
>         at org.apache.maven.doxia.macro.manager.DefaultMacroManager.getMacro
> (DefaultMacroManager.java:43)
>         at org.apache.maven.doxia.parser.AbstractParser.executeMacro(
> AbstractParser.java:44)
>         at org.apache.maven.doxia.module.xdoc.XdocParser.parseXdoc(
> XdocParser.java:177)
>         at org.apache.maven.doxia.module.xdoc.XdocParser.parse(
> XdocParser.java:51)
>         ... 25 more
> 
> I don't what's wrong and what to do...
> I haven't found for the moment a project or sample using the TOC macro.
> 
> Rémy
> 


-- 
Dennis Lundberg


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org