2013-11-21 7 views
0

Я tring, чтобы генерировать html-документацию по uml, и все работает нормально. Моя проблема заключается в том, что я приложу весь отчет в:Проблема Acceleo по документации

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

Как это сделать?

Это мой acceleo шаблон отчета, который я хотел бы вложить:

[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

Stefano,

Это всегда возможно (и целебным) для подразделить шаблоны. Здесь, вместо добавления в файл для каждого нового 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», как я сделал здесь далеко от эффективной, вы можете захотеть вручную вместо этого перейдите к списку вариантов использования.

Смежные вопросы