关于文档的Acceleo问题

时间:2013-11-21 12:19:04

标签: acceleo

我想通过uml生成html文档,一切正常。我的问题是我将所有报告都附在:

<html>
  <body>
       //report
  </body>
</html>

我该怎么做?

这是我的加速报告模板,我将附上:

[comment encoding = UTF-8 /]
[module useCase('http://www.eclipse.org/uml2/3.0.0/UML')]

[template public generateUseCase(uc : UseCase)]
[comment @main/]

[file (('useCases.html'), true)]

<h1>UseCase: [uc.name/]</h1>
[if (uc.ownedBehavior->notEmpty())]
<h5>Part of Activity: [uc.ownedBehavior.name/]</h5>
[/if]
<h3>Extension Points:</h3>
[if (uc.extensionPoint->isEmpty())]
<p>No Extension Points</p>
[/if]
<ul>
[for (e : ExtensionPoint | uc.extensionPoint)]
 <li>[e.name/]</li>
[/for]
</ul>
[/file]
[/template]

1 个答案:

答案 0 :(得分:1)

斯特凡诺,

总是可以(并且可以建议)细分您的模板。在这里,您可以使用循环来代替在每个新的UseCase的文件中附加:

[template public generate(p : Package)]
[comment @main/]

[file (('useCases.html'), false)]
<html>
  <body>
[for (uc : UseCase | p.eAllContents(UseCase))]
    [generateUseCase(uc)/]
[/for]
  </body>
</html>
[/file]
[/template]

[template public generateUseCase(uc : UseCase)]
<h1>UseCase: [uc.name/]</h1>
[if (uc.ownedBehavior->notEmpty())]
<h5>Part of Activity: [uc.ownedBehavior.name/]</h5>
[/if]
<h3>Extension Points:</h3>
[if (uc.extensionPoint->isEmpty())]
<p>No Extension Points</p>
[/if]
<ul>
[for (e : ExtensionPoint | uc.extensionPoint)]
 <li>[e.name/]</li>
[/for]
</ul>
[/template]

请注意,我在这里使用“eAllContents”远非效率,您可能需要手动导航到您的用例列表。