mirror of https://github.com/FreeCol/freecol.git
743 lines
25 KiB
XML
743 lines
25 KiB
XML
<?xml version="1.0" ?>
|
|
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
xmlns:freecol="xalan://net.sf.freecol.tools.GenerateDocumentation"
|
|
extension-element-prefixes="freecol">
|
|
|
|
<xsl:template match="/">
|
|
<html>
|
|
<head>
|
|
<title>Specification</title>
|
|
<link href="specification.css" rel="stylesheet" type="text/css"/>
|
|
</head>
|
|
<body>
|
|
<xsl:apply-templates select="//goods-types"/>
|
|
<xsl:apply-templates select="//resource-types"/>
|
|
<xsl:apply-templates select="//tile-types"/>
|
|
<xsl:apply-templates select="//unit-types"/>
|
|
<xsl:apply-templates select="//building-types"/>
|
|
<xsl:apply-templates select="//founding-fathers"/>
|
|
<xsl:apply-templates select="//european-nation-types"/>
|
|
<xsl:apply-templates select="//indian-nation-types"/>
|
|
</body>
|
|
</html>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="resource-types">
|
|
<h1><xsl:value-of select="freecol:localize('colopediaAction.resources.name')"/></h1>
|
|
<table>
|
|
<tr>
|
|
<th><xsl:value-of select="freecol:localize('name')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.effects')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.description')"/></th>
|
|
</tr>
|
|
<xsl:apply-templates />
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="resource-type">
|
|
<tr>
|
|
<xsl:call-template name="name">
|
|
<xsl:with-param name="id"><xsl:value-of select="@id"/></xsl:with-param>
|
|
</xsl:call-template>
|
|
<td class="left">
|
|
<ul>
|
|
<xsl:apply-templates />
|
|
</ul>
|
|
</td>
|
|
<td class="left">
|
|
<xsl:value-of select="freecol:localize(concat(@id, '.description'))"/>
|
|
</td>
|
|
</tr>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="goods-types">
|
|
<h1><xsl:value-of select="freecol:localize('colopediaAction.goods.name')"/></h1>
|
|
<table>
|
|
<tr>
|
|
<th><xsl:value-of select="freecol:localize('name')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.goods.initialPrice')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.goods.madeFrom')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.description')"/></th>
|
|
</tr>
|
|
<xsl:apply-templates />
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="goods-type">
|
|
<tr>
|
|
<xsl:call-template name="name">
|
|
<xsl:with-param name="id"><xsl:value-of select="@id"/></xsl:with-param>
|
|
</xsl:call-template>
|
|
<td>
|
|
<xsl:choose>
|
|
<xsl:when test="market">
|
|
<xsl:value-of select="market/@initial-price"/>
|
|
<xsl:text> / </xsl:text>
|
|
<xsl:value-of select="market/@initial-price + market/@price-difference"/>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
</td>
|
|
<td>
|
|
<xsl:choose>
|
|
<xsl:when test="@made-from">
|
|
<xsl:variable name="id" select="@made-from"/>
|
|
<xsl:variable name="src"
|
|
select="freecol:getResource(@made-from)"/>
|
|
<img src="../data/default/{$src}"/><br />
|
|
<a href="#{$id}">
|
|
<xsl:value-of select="freecol:localize(concat(@made-from, '.name'))"/>
|
|
</a>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
</td>
|
|
<td class="left">
|
|
<xsl:value-of select="freecol:localize(concat(@id, '.description'))"/>
|
|
</td>
|
|
</tr>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="unit-types">
|
|
<h1><xsl:value-of select="freecol:localize('colopediaAction.units.name')"/></h1>
|
|
<table>
|
|
<tr>
|
|
<th><xsl:value-of select="freecol:localize('name')"/></th>
|
|
<th>
|
|
<xsl:value-of select="freecol:localize('colopedia.unit.movement')"/>
|
|
<xsl:text> / </xsl:text>
|
|
<xsl:value-of select="freecol:localize('model.modifier.offence.name')"/>
|
|
<xsl:text> / </xsl:text>
|
|
<xsl:value-of select="freecol:localize('model.modifier.defence.name')"/>
|
|
</th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.unit.price')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('abilities')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.unit.requirements')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.description')"/></th>
|
|
</tr>
|
|
<xsl:apply-templates/>
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="unit-type">
|
|
<tr>
|
|
<xsl:choose>
|
|
<xsl:when test="@abstract">
|
|
<xsl:attribute name="class">abstract</xsl:attribute>
|
|
<xsl:variable name="id" select="@id"/>
|
|
<td class="name">
|
|
<a id="{$id}">
|
|
<xsl:value-of select="freecol:localize(concat($id, '.name'))"/>
|
|
</a>
|
|
</td>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:call-template name="name">
|
|
<xsl:with-param name="id"><xsl:value-of select="@id"/></xsl:with-param>
|
|
</xsl:call-template>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
<td>
|
|
<xsl:choose>
|
|
<xsl:when test="@movement">
|
|
<xsl:value-of select="number(@movement) div 3"/>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text>1</xsl:text>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
<xsl:text> / </xsl:text>
|
|
<xsl:choose>
|
|
<xsl:when test="@offence">
|
|
<xsl:value-of select="@offence"/>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text>0</xsl:text>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
<xsl:text> / </xsl:text>
|
|
<xsl:choose>
|
|
<xsl:when test="@defence">
|
|
<xsl:value-of select="@defence"/>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text>1</xsl:text>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</td>
|
|
<td>
|
|
<xsl:value-of select="@price"/>
|
|
</td>
|
|
<td class="left">
|
|
<xsl:if test="@extends or ability or modifier">
|
|
<ul>
|
|
<xsl:if test="@extends">
|
|
<xsl:variable name="id" select="@extends"/>
|
|
<li>
|
|
<a href="#{$id}"><xsl:value-of select="freecol:localize(concat(@extends, '.name'))"/></a>
|
|
</li>
|
|
</xsl:if>
|
|
<xsl:apply-templates select="ability"/>
|
|
<xsl:apply-templates select="modifier"/>
|
|
</ul>
|
|
</xsl:if>
|
|
</td>
|
|
<td class="left">
|
|
<xsl:if test="required-ability or required-goods">
|
|
<ul>
|
|
<xsl:apply-templates select="required-ability"/>
|
|
<xsl:apply-templates select="required-goods"/>
|
|
</ul>
|
|
</xsl:if>
|
|
</td>
|
|
<td class="left">
|
|
<xsl:value-of select="freecol:localize(concat(@id, '.description'))"/>
|
|
</td>
|
|
</tr>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="tile-types">
|
|
<h1><xsl:value-of select="freecol:localize('colopediaAction.terrain.name')"/></h1>
|
|
<table>
|
|
<tr>
|
|
<th><xsl:value-of select="freecol:localize('name')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.terrain.movementCost')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.terrain.workTurns')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.terrain.colonyCenterTile')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.terrain.production')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopediaAction.resources.name')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.description')"/></th>
|
|
</tr>
|
|
<xsl:apply-templates />
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="tile-type">
|
|
<tr>
|
|
<xsl:call-template name="name">
|
|
<xsl:with-param name="id"><xsl:value-of select="@id"/></xsl:with-param>
|
|
</xsl:call-template>
|
|
<td>
|
|
<xsl:value-of select="@basic-move-cost"/>
|
|
</td>
|
|
<td>
|
|
<xsl:value-of select="@basic-work-turns"/>
|
|
</td>
|
|
<td class="left">
|
|
<xsl:apply-templates select="production[@colonyCenterTile='true']"/>
|
|
</td>
|
|
<td class="left">
|
|
<xsl:apply-templates select="production[not(@colonyCenterTile='true')]"/>
|
|
</td>
|
|
<td>
|
|
<xsl:apply-templates select="resource"/>
|
|
</td>
|
|
<td class="left">
|
|
<xsl:value-of select="freecol:localize(concat(@id, '.description'))"/>
|
|
</td>
|
|
</tr>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="building-types">
|
|
<h1><xsl:value-of select="freecol:localize('colopediaAction.buildings.name')"/></h1>
|
|
<table>
|
|
<tr>
|
|
<th><xsl:value-of select="freecol:localize('name')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.buildings.workplaces')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.buildings.production')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.buildings.requires')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.description')"/></th>
|
|
</tr>
|
|
<xsl:apply-templates />
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="building-type">
|
|
<tr>
|
|
<xsl:call-template name="name">
|
|
<xsl:with-param name="id"><xsl:value-of select="@id"/></xsl:with-param>
|
|
</xsl:call-template>
|
|
<td>
|
|
<xsl:call-template name="inherited">
|
|
<xsl:with-param name="element" select="."/>
|
|
<xsl:with-param name="attribute">workplaces</xsl:with-param>
|
|
<xsl:with-param name="default">3</xsl:with-param>
|
|
</xsl:call-template>
|
|
</td>
|
|
<td><xsl:apply-templates select="production"/></td>
|
|
<td class="left">
|
|
<xsl:choose>
|
|
<xsl:when test="required-goods or required-ability">
|
|
<ul>
|
|
<xsl:apply-templates select="required-ability"/>
|
|
<xsl:apply-templates select="required-goods"/>
|
|
</ul>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:value-of select="freecol:localize('colopedia.buildings.autoBuilt')"/>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</td>
|
|
<td class="left">
|
|
<xsl:value-of select="freecol:localize(concat(@id, '.description'))"/>
|
|
</td>
|
|
</tr>
|
|
</xsl:template>
|
|
|
|
|
|
<xsl:template match="founding-fathers">
|
|
<h1><xsl:value-of select="freecol:localize('colopediaAction.fathers.name')"/></h1>
|
|
<table>
|
|
<caption>
|
|
<xsl:value-of select="freecol:localize('colopedia.foundingFather.description')"/>
|
|
</caption>
|
|
<tr>
|
|
<th><xsl:value-of select="freecol:localize('name')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.type')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.birthAndDeath')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.probability')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.effects')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.description')"/></th>
|
|
</tr>
|
|
<xsl:apply-templates />
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="founding-father">
|
|
<tr>
|
|
<xsl:call-template name="name">
|
|
<xsl:with-param name="id"><xsl:value-of select="@id"/></xsl:with-param>
|
|
</xsl:call-template>
|
|
<td>
|
|
<xsl:value-of select="freecol:localize(concat('model.foundingFather.', @type))"/>
|
|
</td>
|
|
<td>
|
|
<xsl:value-of select="freecol:localize(concat(@id, '.birthAndDeath'))"/>
|
|
</td>
|
|
<td>
|
|
<xsl:value-of select="@weight1"/>
|
|
<xsl:text> / </xsl:text>
|
|
<xsl:value-of select="@weight2"/>
|
|
<xsl:text> / </xsl:text>
|
|
<xsl:value-of select="@weight3"/>
|
|
</td>
|
|
<td class="left">
|
|
<xsl:value-of select="freecol:localize(concat(@id, '.description'))"/>
|
|
<xsl:if test="ability or modifier or event or unit">
|
|
<ul>
|
|
<xsl:apply-templates select="event"/>
|
|
<xsl:apply-templates select="ability"/>
|
|
<xsl:apply-templates select="modifier"/>
|
|
<xsl:apply-templates select="unit"/>
|
|
</ul>
|
|
</xsl:if>
|
|
</td>
|
|
<td class="left">
|
|
<xsl:value-of select="freecol:localize(concat(@id, '.text'))"/>
|
|
</td>
|
|
</tr>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="european-nation-types">
|
|
<h1><xsl:value-of select="freecol:localize('colopedia.europeanNationTypes')"/></h1>
|
|
<table>
|
|
<tr>
|
|
<th><xsl:value-of select="freecol:localize('advantage')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopediaAction.units.name')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopedia.nationType.typeOfSettlements')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('abilities')"/></th>
|
|
</tr>
|
|
<xsl:apply-templates />
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="european-nation-type">
|
|
<tr>
|
|
<xsl:variable name="id" select="@id"/>
|
|
<td class="name">
|
|
<a id="{$id}">
|
|
<xsl:value-of select="freecol:localize(concat($id, '.name'))"/>
|
|
</a>
|
|
</td>
|
|
<td class="left">
|
|
<ul>
|
|
<xsl:choose>
|
|
<xsl:when test="unit[@id='pioneer']">
|
|
<xsl:apply-templates select="unit[@id='pioneer']"/>
|
|
</xsl:when>
|
|
<xsl:when test="@extends">
|
|
<xsl:variable name="extends" select="@extends"/>
|
|
<xsl:apply-templates select="../european-nation-type[@id=$extends]/unit[@id='pioneer']"/>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:choose>
|
|
<xsl:when test="unit[@id='soldier']">
|
|
<xsl:apply-templates select="unit[@id='soldier']"/>
|
|
</xsl:when>
|
|
<xsl:when test="@extends">
|
|
<xsl:variable name="extends" select="@extends"/>
|
|
<xsl:apply-templates select="../european-nation-type[@id=$extends]/unit[@id='soldier']"/>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<xsl:choose>
|
|
<xsl:when test="unit[@id='ship']">
|
|
<xsl:apply-templates select="unit[@id='ship']"/>
|
|
</xsl:when>
|
|
<xsl:when test="@extends">
|
|
<xsl:variable name="extends" select="@extends"/>
|
|
<xsl:apply-templates select="../european-nation-type[@id=$extends]/unit[@id='ship']"/>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
</ul>
|
|
</td>
|
|
<td>
|
|
<xsl:choose>
|
|
<xsl:when test="settlement">
|
|
<xsl:value-of select="freecol:localize(concat(settlement/@id, '.name'))"/>
|
|
</xsl:when>
|
|
<xsl:when test="@extends">
|
|
<xsl:variable name="extends" select="@extends"/>
|
|
<xsl:value-of select="freecol:localize(concat(../european-nation-type[@id=$extends]/settlement/@id, '.name'))"/>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
</td>
|
|
<td class="left">
|
|
<ul>
|
|
<xsl:apply-templates select="ability"/>
|
|
<xsl:apply-templates select="modifier"/>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="indian-nation-types">
|
|
<h1><xsl:value-of select="freecol:localize('colopedia.nativeNationTypes')"/></h1>
|
|
<table>
|
|
<tr>
|
|
<th><xsl:value-of select="freecol:localize('name')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('colopediaAction.skills.name')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('settlement')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('capital')"/></th>
|
|
<th><xsl:value-of select="freecol:localize('abilities')"/></th>
|
|
</tr>
|
|
<xsl:apply-templates />
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="indian-nation-type">
|
|
<tr>
|
|
<xsl:if test="@abstract='true'">
|
|
<xsl:attribute name="class">abstract</xsl:attribute>
|
|
</xsl:if>
|
|
<xsl:variable name="id">
|
|
<xsl:choose>
|
|
<xsl:when test="@abstract='true'">
|
|
<xsl:value-of select="concat('model.settlement.', @id)"/>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:value-of select="@id"/>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:variable>
|
|
<td class="name">
|
|
<a id="{$id}">
|
|
<xsl:value-of select="freecol:localize(concat($id, '.name'))"/>
|
|
</a>
|
|
</td>
|
|
<td class="left">
|
|
<xsl:if test="skill">
|
|
<ul>
|
|
<xsl:apply-templates select="skill"/>
|
|
</ul>
|
|
</xsl:if>
|
|
</td>
|
|
<td class="left">
|
|
<xsl:choose>
|
|
<xsl:when test="settlement">
|
|
<xsl:apply-templates select="settlement[not(@capital='true')]"/>
|
|
</xsl:when>
|
|
<xsl:when test="@extends">
|
|
<xsl:variable name="extends" select="@extends"/>
|
|
<xsl:apply-templates select="../indian-nation-type[@id=$extends]/settlement[not(@capital='true')]"/>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
</td>
|
|
<td class="left">
|
|
<xsl:choose>
|
|
<xsl:when test="settlement">
|
|
<xsl:apply-templates select="settlement[@capital='true']"/>
|
|
</xsl:when>
|
|
<xsl:when test="@extends">
|
|
<xsl:variable name="extends" select="@extends"/>
|
|
<xsl:apply-templates select="../indian-nation-type[@id=$extends]/settlement[@capital='true']"/>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
</td>
|
|
<td class="left">
|
|
<xsl:if test="ability or modifier or @extends">
|
|
<ul>
|
|
<xsl:if test="@extends">
|
|
<li>
|
|
<xsl:variable name="id" select="concat('model.settlement.', @extends)"/>
|
|
<a href="#{$id}">
|
|
<xsl:value-of select="freecol:localize(concat($id, '.name'))"/>
|
|
</a>
|
|
</li>
|
|
</xsl:if>
|
|
<xsl:apply-templates select="ability"/>
|
|
<xsl:apply-templates select="modifier"/>
|
|
</ul>
|
|
</xsl:if>
|
|
</td>
|
|
</tr>
|
|
</xsl:template>
|
|
|
|
|
|
<xsl:template match="settlement">
|
|
<div class="center">
|
|
<xsl:variable name="src" select="freecol:getResource(@id)"/>
|
|
<img src="../data/default/{$src}"/>
|
|
</div>
|
|
<ul>
|
|
<li>
|
|
<xsl:value-of select="freecol:localize('claimableRadius')"/>:
|
|
<xsl:value-of select="@claimable-radius"/>
|
|
</li>
|
|
<li>
|
|
<xsl:value-of select="freecol:localize('extraClaimableRadius')"/>:
|
|
<xsl:value-of select="@extra-claimable-radius"/>
|
|
</li>
|
|
<li>
|
|
<xsl:value-of select="freecol:localize('minimumSize')"/>:
|
|
<xsl:value-of select="@minimum-size"/>
|
|
</li>
|
|
<li>
|
|
<xsl:value-of select="freecol:localize('maximumSize')"/>:
|
|
<xsl:value-of select="@maximum-size"/>
|
|
</li>
|
|
<xsl:apply-templates select="ability"/>
|
|
<xsl:apply-templates select="modifier"/>
|
|
</ul>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="production">
|
|
<xsl:choose>
|
|
<xsl:when test="@production-level">
|
|
<xsl:variable name="production-level" select="@production-level"/>
|
|
<div class="{$production-level}">
|
|
<xsl:apply-templates select="input"/>
|
|
<xsl:apply-templates select="output"/>
|
|
</div>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<div>
|
|
<xsl:apply-templates select="input"/>
|
|
<xsl:apply-templates select="output"/>
|
|
</div>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
|
|
</xsl:template>
|
|
|
|
<xsl:template match="input">
|
|
<xsl:variable name="id" select="@goods-type"/>
|
|
<xsl:value-of select="@value"/> <a href="#{$id}">
|
|
<xsl:value-of select="freecol:localize(concat(@goods-type, '.name'), '%amount%', string(@value))"/>
|
|
</a><br /><xsl:text> ↓ </xsl:text><br />
|
|
</xsl:template>
|
|
|
|
<xsl:template match="output">
|
|
<xsl:variable name="id" select="@goods-type"/>
|
|
<xsl:value-of select="@value"/> <a href="#{$id}">
|
|
<xsl:value-of select="freecol:localize(concat(@goods-type, '.name'), '%amount%', string(@value))"/>
|
|
</a><br/>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="required-goods">
|
|
<li class="goods">
|
|
<xsl:variable name="id" select="@id"/>
|
|
<xsl:value-of select="@value"/> <a href="#{$id}">
|
|
<xsl:value-of select="freecol:localize(concat(@id, '.name'), '%amount%', string(@value))"/>
|
|
</a>
|
|
</li>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="event">
|
|
<li>
|
|
<xsl:value-of select="freecol:localize(concat(@id, '.name'))"/>
|
|
<xsl:if test="@value">
|
|
<xsl:text>: </xsl:text>
|
|
<xsl:choose>
|
|
<xsl:when test="number(@value) = @value">
|
|
<xsl:value-of select="@value"/>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:value-of select="freecol:localize(concat(@value, '.name'))"/>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
</li>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="ability|required-ability">
|
|
<li>
|
|
<xsl:choose>
|
|
<xsl:when test="@value='false'">
|
|
<strike>
|
|
<xsl:value-of select="freecol:localize(concat(@id, '.name'))"/>
|
|
</strike>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:value-of select="freecol:localize(concat(@id, '.name'))"/>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
<xsl:choose>
|
|
<xsl:when test="scope">
|
|
<br /><xsl:value-of select="freecol:localize('Scope')"/>
|
|
<ul>
|
|
<xsl:apply-templates select="scope"/>
|
|
</ul>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
</li>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="modifier">
|
|
<xsl:variable name="id" select="@id"/>
|
|
<li>
|
|
<xsl:choose>
|
|
<xsl:when test="starts-with($id, 'model.goods.')">
|
|
<a href="#{$id}">
|
|
<xsl:value-of select="freecol:localize(concat($id, '.name'))"/>
|
|
</a><xsl:text>:</xsl:text> 
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:value-of select="freecol:localize(concat($id, '.name'))"/><xsl:text>:</xsl:text> 
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
<xsl:choose>
|
|
<xsl:when test="@type='percentage'">
|
|
<xsl:value-of select="@value"/><xsl-text>%</xsl-text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='multiplicative'">
|
|
×<xsl:value-of select="@value"/>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:value-of select="@value"/>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
<xsl:choose>
|
|
<xsl:when test="scope">
|
|
<br /><xsl:value-of select="freecol:localize('Scope')"/><xsl:text>:</xsl:text>
|
|
<ul>
|
|
<xsl:apply-templates select="scope"/>
|
|
</ul>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
</li>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="resource">
|
|
<xsl:variable name="id" select="@type"/>
|
|
<a href="#{$id}"><xsl:value-of select="freecol:localize(concat($id, '.name'))"/></a>
|
|
<br />
|
|
</xsl:template>
|
|
|
|
<xsl:template match="skill">
|
|
<li>
|
|
<xsl:value-of select="freecol:localize(concat(@id, '.name'))"/>
|
|
</li>
|
|
</xsl:template>
|
|
|
|
|
|
<xsl:template match="unit">
|
|
<li>
|
|
<xsl:choose>
|
|
<xsl:when test="@type">
|
|
<xsl:if test="@expert-starting-units">
|
|
<xsl:attribute name="class">expert</xsl:attribute>
|
|
</xsl:if>
|
|
<xsl:variable name="id" select="@type"/>
|
|
<a href="#{$id}"><xsl:value-of select="freecol:localize(concat($id, '.name'))"/></a>
|
|
<xsl:if test="@role">
|
|
<xsl:text> / </xsl:text>
|
|
<xsl:value-of select="freecol:localize(concat(@role, '.name'))"/>
|
|
</xsl:if>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:variable name="id" select="@id"/>
|
|
<a href="#{$id}"><xsl:value-of select="freecol:localize(concat($id, '.name'))"/></a>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</li>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="scope">
|
|
<li>
|
|
<xsl:choose>
|
|
<xsl:when test="@match-negated or @ability-value='false'">
|
|
<strike>
|
|
<xsl:call-template name="scope-body"/>
|
|
</strike>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:call-template name="scope-body"/>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</li>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="scope-body">
|
|
<xsl:choose>
|
|
<xsl:when test="@type">
|
|
<xsl:variable name="id" select="@type"/>
|
|
<a href="#{$id}">
|
|
<xsl:value-of select="freecol:localize(concat(@type, '.name'))"/>
|
|
</a>
|
|
</xsl:when>
|
|
<xsl:when test="@ability-id">
|
|
<xsl:value-of select="freecol:localize(concat(@ability-id, '.name'))"/>
|
|
</xsl:when>
|
|
<xsl:when test="@method-name">
|
|
<xsl:choose>
|
|
<xsl:when test="@method-name='isIndian'">
|
|
<xsl:value-of select="freecol:localize('model.ability.native.name')"/>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
|
|
|
|
<xsl:template name="inherited">
|
|
<xsl:param name="element"/>
|
|
<xsl:param name="attribute"/>
|
|
<xsl:param name="default"/>
|
|
<xsl:choose>
|
|
<xsl:when test="$element/@*[name()=$attribute]">
|
|
<xsl:value-of select="$element/@*[name()=$attribute]"/>
|
|
</xsl:when>
|
|
<xsl:when test="$element/@extends">
|
|
<xsl:variable name="parent" select="$element/@extends"/>
|
|
<xsl:call-template name="inherited">
|
|
<xsl:with-param name="element" select="../*[@id=$parent]"/>
|
|
<xsl:with-param name="attribute" select="$attribute"/>
|
|
<xsl:with-param name="default" select="$default"/>
|
|
</xsl:call-template>
|
|
</xsl:when>
|
|
<xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
<xsl:template name="name">
|
|
<xsl:param name="id"></xsl:param>
|
|
<xsl:variable name="src" select="freecol:getResource($id)"/>
|
|
<td class="name">
|
|
<a id="{$id}">
|
|
<img src="../data/default/{$src}"/><br />
|
|
<xsl:value-of select="freecol:localize(concat($id, '.name'))"/>
|
|
</a>
|
|
</td>
|
|
</xsl:template>
|
|
|
|
|
|
|
|
</xsl:stylesheet>
|