#set ($title = $root.selectNodes("properties/title/text()")) #set ($langCode = $root.getAttributeValue("lang")) #set ($property = $project.selectNodes("properties/property[@code='$langCode']").get(0)) #document() #macro (document) $title #set ($title = $root.selectNodes("properties/title/text()")) #set ($authors = $root.getChild("properties").getChildren("author")) #foreach ( $au in $authors ) #end #foreach ($style in $root.selectNodes("properties/style")) #end #makeMenu()

$title

#makeTop() #makeLangLink() #makeBody()
#end #macro (makeTop) #set ($items = $root.selectNodes("body/top")) #foreach ($item in $items) #foreach ($tag in $item.getChildren()) #if($tag.getName().equals("img")) #image($tag) #else $tag #end #end #end

$property.selectNodes("copyright/text()")
$property.selectNodes("lastModified/text()") $date

#end #macro (makeLangLink) #set ($linkLanguages = $root.selectNodes("properties/lang/link")) #if ($linkLanguages.size() != 0)

#set ($count = 0) #foreach ($linkLanguage in $linkLanguages) #set ($linkCode = $linkLanguage.getAttributeValue("code").toString()) #if ($count == 0) [ #else | #end #if ($langCode.equals($linkCode)) $property.getAttributeValue("label") #else $project.selectNodes("properties/property[@code='$linkCode']").get(0).getAttributeValue("label") #end #set ($count = $count + 1) #end ]

#end #end #macro (projectanchor $name $value) #if ($value.startsWith("http://")) $name #elseif ($value.startsWith("/~")) $name #else $name #end #end #macro (makeMenu) #set ($allMenus = $project.selectNodes("menus[@lang='$langCode']/menu")) #foreach ($menu in $allMenus) #end #set ($submenus = $root.selectNodes("submenus/menu")) #foreach ($submenu in $submenus) #end #end #macro (makeMenuContent $menu) #foreach ($items in $menu.getChildren()) #if ($items.getName().equals("img")) #image($items) #else $items #end #end #end #macro (printLevel $level) #end #macro (printLevelEnd $level) #end #macro (sourceCode $items) #if ($items.getChildren().size() == 0) #set ($sourceCodeText = $items.getText()) #else #set ($sourceCodeText = $items.getChildren().toString()) #end
$escape.getText($!sourceCodeText)
#end #macro (makeSection $section $level) #set ($name = $section.getAttributeValue("name")) #set ($href = $section.getAttributeValue("href")) #set ($label = $section.getAttributeValue("label")) #printLevel($level) #if (($name.length() > 0 && !$name.equals("nil")) || ($href.length() > 0 && !$href.equals("nil"))) 0 && !$name.equals("nil")) name="$name" id="$name" #end #if ($href.length() > 0 && !$href.equals("nil")) href="$href" #end #if (($name.length() > 0 && !$name.equals("nil")) || ($href.length() > 0 && !$href.equals("nil"))) > #end $label #if (($name.length() > 0 && !$name.equals("nil")) || ($href.length() > 0 && !$href.equals("nil"))) #end #printLevelEnd($level) #foreach ($items in $section.getChildren()) #if ($items.getName().equals("img")) #image($items) #elseif ($items.getName().equals("source")) #sourceCode($items) #elseif ($items.getName().equals("section")) #makeSection($items 3) #elseif ($items.getName().equals("subsection")) #makeSection($items 4) #elseif ($items.getName().equals("paragraph")) #makeSection($items 5) #elseif ($items.getName().equals("subparagraph")) #makeSection($items 6) #else $items #end #end #set ($backLevelValue = $level.toString()) #set ($backLevelValueProject = $project.selectNodes("properties/backLevel/text()").toString()) #if ($backLevelValueProject.equals($backLevelValue))

$!property.selectNodes("backLabel/text()")

#end #end #macro ( image $value ) #if ($value.getAttributeValue("width")) #set ($width=$value.getAttributeValue("width")) #end #if ($value.getAttributeValue("height")) #set ($height=$value.getAttributeValue("height")) #end #if ($value.getAttributeValue("align")) #set ($align=$value.getAttributeValue("align")) #end #if ($value.getAttributeValue("alt")) #set ($alt = $value.getAttributeValue("alt")) #end #if($align)
#end $!alt #if($align)
#end #end #macro (makeBody) #set ($allSections = $root.selectNodes("body/chapter")) #foreach ($section in $allSections) #makeSection($section 2) #end #end