Created
August 25, 2015 14:20
-
-
Save Demonshooter/8cbb6a6b7536fb455cb3 to your computer and use it in GitHub Desktop.
An updated (2015-08-25) German version of the 2015-08-25 version
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8" ?> | |
<!-- Character sheet based on the Shadowrun 5th Edition Character Sheet --> | |
<!-- Created by Keith Rudolph, krudolph@gmail.com --> | |
<!-- Version -500 --> | |
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt"> | |
<xsl:include href="ConditionMonitor.xslt"/> | |
<xsl:template match="/characters/character"> | |
<xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">]]></xsl:text> | |
<html> | |
<head> | |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> | |
<title><xsl:value-of select="name" /></title> | |
<style type="text/css"> | |
* | |
{ | |
font-family: segoe condensed, tahoma, trebuchet ms, arial; | |
font-size: 8pt; | |
text-align: left; | |
} | |
.tableborder | |
{ | |
border: solid 2px #1c4a2d; | |
} | |
.conditionmonitorbox | |
{ | |
border: solid 2px #1c4a2d; | |
width: 24px; | |
height: 24px; | |
text-align: right; | |
vertical-align: text-bottom; | |
font-weight: bold; | |
} | |
.conditionmonitorboxfilled | |
{ | |
border: solid 2px #1c4a2d; | |
width: 24px; | |
height: 24px; | |
text-align: right; | |
vertical-align: text-bottom; | |
font-weight: bold; | |
background-color: #bbbbbb; | |
} | |
.conditionmonitorboxnotused | |
{ | |
border: solid 0px #1c4a2d; | |
width: 24px; | |
height: 24px; | |
text-align: right; | |
vertical-align: text-bottom; | |
font-weight: bold; | |
background-color: #FFFFFF; | |
} | |
.rowsummary | |
{ | |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#3a6349', endColorstr='#769582'); /* for IE */ | |
background: -webkit-gradient(linear, left top, left bottom, from(#3a6349), to(#769582)); /* for webkit browsers */ | |
background: -moz-linear-gradient(top, #3a6349, #769582); /* for firefox 3.6+ */ | |
background-color: #3a6349; | |
color: #ffffff; | |
font-weight: bold; | |
font-style: italic; | |
} | |
.rowsummarybutton | |
{ | |
color: #ffffff; | |
font-weight: bold; | |
margin-left: 20px; | |
} | |
.attributecell | |
{ | |
} | |
.attributecell p | |
{ | |
padding: 2px; | |
margin: 4px; | |
border: solid 1px #1c4a2d; | |
} | |
.indent | |
{ | |
padding-left: 20px; | |
} | |
.hseparator | |
{ | |
height: 5px; | |
} | |
.vseparator | |
{ | |
width: 5px; | |
} | |
.block | |
{ | |
page-break-inside: avoid; | |
} | |
.zalomit | |
{ | |
page-break-after: always; | |
} | |
.notesrow | |
{ | |
padding-left: 10px; | |
} | |
@media print | |
{ | |
.zalomit | |
{ | |
page-break-after: always; | |
} | |
.sectionhide | |
{ | |
visibility: hidden; | |
display:none; | |
} | |
.rowsummarybutton | |
{ | |
visibility: hidden; | |
display: none; | |
} | |
.table | |
{ | |
width: 100%; | |
} | |
} | |
@media screen { | |
.sectionhide | |
{ | |
visibility: visible; | |
} | |
.rowsummarybutton | |
{ | |
visibility: visible; | |
} | |
} | |
</style> | |
<script type="text/javascript"> | |
<xsl:text> | |
function zalomit(what,idx) | |
{ | |
var elem = document.getElementById(idx); | |
if (elem.style.pageBreakAfter == 'always') { | |
txt = "Nein"; | |
elem.style.pageBreakAfter = 'auto'; | |
} | |
else { | |
txt = "Ja"; | |
elem.style.pageBreakAfter = 'always'; | |
} | |
what.innerHTML = "Seitenumbruch: " + txt; | |
} | |
function showhide(what,idx) | |
{ | |
var elem = document.getElementById(idx); | |
if (elem.className != 'sectionhide') { | |
txt = "Nein"; | |
elem.className = 'sectionhide'; | |
} | |
else { | |
txt = "Ja"; | |
elem.className = 'block'; | |
} | |
what.innerHTML = "Zeigen: " + txt; | |
} | |
</xsl:text> | |
</script> | |
</head> | |
<body> | |
<div class="block" id="PersonalDataBlock"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="100%" class="tableborder"> | |
<table width="100%" cellspacing="0" cellpadding="2" border="0"> | |
<tr> | |
<td colspan="4"> | |
<strong>Name/Alias:</strong><xsl:text> </xsl:text><xsl:value-of select="name" /> | |
<xsl:if test="alias != ''"> (<xsl:value-of select="alias" />)</xsl:if> | |
</td> | |
<td colspan="4"> | |
<strong>Spieler:</strong><xsl:text> </xsl:text><xsl:value-of select="playername" /> | |
</td> | |
<td colspan="2"> | |
Bewegung: <xsl:value-of select="movement" /> | |
</td> | |
</tr> | |
<tr> | |
<td colspan="4"> | |
Metatyp: | |
<xsl:value-of select="metatype" /> | |
<xsl:if test="metavariant != ''"> | |
(<xsl:value-of select="metavariant" />) | |
</xsl:if> | |
</td> | |
<td width="10%">Alter:</td> | |
<td width="10%"> | |
<xsl:value-of select="age" /> | |
</td> | |
<td width="10%">Geschlecht:</td> | |
<td width="10%"> | |
<xsl:value-of select="sex" /> | |
</td> | |
<td width="10%">Nuyen:</td> | |
<td width="10%"> | |
<xsl:value-of select="nuyen" /> | |
</td> | |
</tr> | |
<tr> | |
<td width="10%">Größe:</td> | |
<td width="10%"> | |
<xsl:value-of select="height" /> | |
</td> | |
<td width="10%">Gewicht:</td> | |
<td width="10%"> | |
<xsl:value-of select="weight" /> | |
</td> | |
<td width="10%">Haarfarbe:</td> | |
<td width="10%"> | |
<xsl:value-of select="hair" /> | |
</td> | |
<td width="10%">Augenfarbe:</td> | |
<td width="10%"> | |
<xsl:value-of select="eyes" /> | |
</td> | |
<td width="10%">Hautfarbe:</td> | |
<td width="10%"> | |
<xsl:value-of select="skin" /> | |
</td> | |
</tr> | |
<tr> | |
<td width="10%">Karma:</td> | |
<td width="10%"> | |
<xsl:value-of select="karma" /> | |
</td> | |
<td width="10%">Ges. Karma:</td> | |
<td width="10%"> | |
<xsl:value-of select="totalkarma" /> | |
</td> | |
<td width="10%">Straßenruf:</td> | |
<td width="10%"> | |
<xsl:value-of select="totalstreetcred" /> | |
</td> | |
<td width="10%">Schlechter Ruf:</td> | |
<td width="10%"> | |
<xsl:value-of select="totalnotoriety" /> | |
</td> | |
<td width="10%">Prominenz:</td> | |
<td width="10%"> | |
<xsl:value-of select="totalpublicawareness" /> | |
</td> | |
</tr> | |
<tr> | |
<td width="10%">Selbstbeherrsch.:</td> | |
<td width="10%"> | |
<xsl:value-of select="composure" /> | |
</td> | |
<td width="10%">Menschenkenntnis:</td> | |
<td width="10%"> | |
<xsl:value-of select="judgeintentions" /> | |
</td> | |
<td width="10%">Heben/Tragen:</td> | |
<td width="10%"> | |
<xsl:value-of select="liftandcarry" /> | |
</td> | |
<td width="10%">Heben/Tragen Gewicht:</td> | |
<td width="10%"> | |
<xsl:value-of select="liftweight" /> kg / <xsl:value-of select="carryweight" /> kg | |
</td> | |
<td width="10%">Erinnern:</td> | |
<td width="10%"> | |
<xsl:value-of select="memory" /> | |
</td> | |
</tr> | |
<tr> | |
<td class="rowsummary" colspan="10"> | |
Charakterdaten | |
<span class="rowsummarybutton" onClick="showhide(this,'PersonalDataBlock');" colspan="2">Zeigen: Ja</span> | |
<span class="rowsummarybutton" onClick="zalomit(this,'PersonalDataBlock');" colspan="2">Seitenumbruch: Nein</span> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
</table> | |
</div> | |
<div class="block" id="AttributesBlock"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="100%" class="tableborder"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="25%" style="text-align:center;" class="attributecell"> | |
<strong>Körperliche Attribute</strong> | |
</td> | |
<td width="25%" style="text-align:center;" class="attributecell"> | |
<strong>Geistige Attribute</strong> | |
</td> | |
<td width="25%" style="text-align:center;" class="attributecell"> | |
<strong>Besondere Attribute</strong> | |
</td> | |
<td width="25%" style="text-align:center;" class="attributecell"> | |
<strong>Initiative</strong> | |
</td> | |
</tr> | |
<tr> | |
<td width="25%" class="attributecell"> | |
<p> | |
Konstitution: <xsl:value-of select="attributes/attribute[name = 'BOD']/base" /> | |
<xsl:if test="attributes/attribute[name = 'BOD']/total != attributes/attribute[name = 'BOD']/base"> | |
(<xsl:value-of select="attributes/attribute[name = 'BOD']/total" />) | |
</xsl:if> | |
</p> | |
</td> | |
<td width="25%" class="attributecell"> | |
<p> | |
Charisma: <xsl:value-of select="attributes/attribute[name = 'CHA']/base" /> | |
<xsl:if test="attributes/attribute[name = 'CHA']/total != attributes/attribute[name = 'CHA']/base"> | |
(<xsl:value-of select="attributes/attribute[name = 'CHA']/total" />) | |
</xsl:if> | |
</p> | |
</td> | |
<td width="25%" class="attributecell"> | |
<p> | |
Edge: <xsl:value-of select="attributes/attribute[name = 'EDG']/base" /> | |
<xsl:if test="attributes/attribute[name = 'EDG']/total != attributes/attribute[name = 'EDG']/base"> | |
(<xsl:value-of select="attributes/attribute[name = 'EDG']/total" />) | |
</xsl:if> | |
</p> | |
</td> | |
<td width="25%" class="attributecell"> | |
<p> Allgemein: <xsl:value-of select="init"/></p> | |
<!-- <p> | |
Initiative: <xsl:value-of select="init/base" /> | |
<xsl:if test="init/total != init/base"> | |
(<xsl:value-of select="init/total" />) | |
</xsl:if> | |
</p> --> | |
</td> | |
</tr> | |
<tr> | |
<td width="25%" class="attributecell"> | |
<p> | |
Geschicklichkeit: <xsl:value-of select="attributes/attribute[name = 'AGI']/base" /> | |
<xsl:if test="attributes/attribute[name = 'AGI']/total != attributes/attribute[name = 'AGI']/base"> | |
(<xsl:value-of select="attributes/attribute[name = 'AGI']/total" />) | |
</xsl:if> | |
</p> | |
</td> | |
<td width="25%" class="attributecell"> | |
<p> | |
Intuition: <xsl:value-of select="attributes/attribute[name = 'INT']/base" /> | |
<xsl:if test="attributes/attribute[name = 'INT']/total != attributes/attribute[name = 'INT']/base"> | |
(<xsl:value-of select="attributes/attribute[name = 'INT']/total" />) | |
</xsl:if> | |
</p> | |
</td> | |
<td width="25%" class="attributecell"> | |
<p>Aktuelles Edge:</p> | |
</td> | |
<td width="25%" class="attributecell"> | |
<p> | |
Kaltes Sim: <xsl:value-of select="matrixcoldinit"/> | |
</p> | |
</td> | |
</tr> | |
<tr> | |
<td width="25%" class="attributecell"> | |
<p> | |
Reaktion: <xsl:value-of select="attributes/attribute[name = 'REA']/base" /> | |
<xsl:if test="attributes/attribute[name = 'REA']/total != attributes/attribute[name = 'REA']/base"> | |
(<xsl:value-of select="attributes/attribute[name = 'REA']/total" />) | |
</xsl:if> | |
</p> | |
</td> | |
<td width="25%" class="attributecell"> | |
<p> | |
Logik: <xsl:value-of select="attributes/attribute[name = 'LOG']/base" /> | |
<xsl:if test="attributes/attribute[name = 'LOG']/total != attributes/attribute[name = 'LOG']/base"> | |
(<xsl:value-of select="attributes/attribute[name = 'LOG']/total" />) | |
</xsl:if> | |
</p> | |
</td> | |
<td width="25%" class="attributecell"> | |
<p> | |
Essenz: <xsl:value-of select="attributes/attribute[name = 'ESS']/base" /> | |
</p> | |
</td> | |
<td width="25%" class="attributecell"> | |
<p> | |
Heißes Sim: <xsl:value-of select="matrixhotinit"/> | |
</p> | |
</td> | |
</tr> | |
<tr> | |
<td width="25%" class="attributecell"> | |
<p> | |
Stärke: <xsl:value-of select="attributes/attribute[name = 'STR']/base" /> | |
<xsl:if test="attributes/attribute[name = 'STR']/total != attributes/attribute[name = 'STR']/base"> | |
(<xsl:value-of select="attributes/attribute[name = 'STR']/total" />) | |
</xsl:if> | |
</p> | |
</td> | |
<td width="25%" class="attributecell"> | |
<p> | |
Willenskraft: <xsl:value-of select="attributes/attribute[name = 'WIL']/base" /> | |
<xsl:if test="attributes/attribute[name = 'WIL']/total != attributes/attribute[name = 'WIL']/base"> | |
(<xsl:value-of select="attributes/attribute[name = 'WIL']/total" />) | |
</xsl:if> | |
</p> | |
</td> | |
<td width="25%" class="attributecell"> | |
<p> | |
<xsl:if test="magenabled = 'True'"> | |
Magie: <xsl:value-of select="attributes/attribute[name = 'MAG']/base" /> | |
<xsl:if test="attributes/attribute[name = 'MAG']/total != attributes/attribute[name = 'MAG']/base"> | |
(<xsl:value-of select="attributes/attribute[name = 'MAG']/total" />) | |
</xsl:if> | |
</xsl:if> | |
<xsl:if test="resenabled = 'True'"> | |
Resonanz: <xsl:value-of select="attributes/attribute[name = 'RES']/base" /> | |
<xsl:if test="attributes/attribute[name = 'RES']/total != attributes/attribute[name = 'RES']/base"> | |
(<xsl:value-of select="attributes/attribute[name = 'RES']/total" />) | |
</xsl:if> | |
</xsl:if> | |
  | |
</p> | |
</td> | |
<td width="25%" class="attributecell"> | |
<p> | |
<xsl:choose> | |
<xsl:when test="magenabled = 'True'"> | |
Astral: <xsl:value-of select="astralinit" /> | |
</xsl:when> | |
<xsl:otherwise> | |
  | |
</xsl:otherwise> | |
</xsl:choose> | |
</p> | |
</td> | |
</tr> | |
<tr> | |
<td class="rowsummary" colspan="4"> | |
Attribute | |
<span class="rowsummarybutton" onClick="showhide(this,'AttributesBlock');" colspan="1">Zeigen: Ja</span> | |
<span class="rowsummarybutton" onClick="zalomit(this,'AttributesBlock');" colspan="1">Seitenumbruch: Nein</span> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
</table> | |
</div> | |
<div class="block" id="SkillsBlock"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="100%" class="tableborder"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="33%" style="text-align:center;" valign="top"> | |
<strong>Aktionsfertigkeiten</strong> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="50%"> | |
<strong>Fertigkeit</strong> | |
</td> | |
<td width="10%" style="text-align:center;"> | |
<strong>Pool</strong> | |
</td> | |
<td width="10%" style="text-align:center;"> | |
<strong>W.</strong> | |
</td> | |
<td width="10%" style="text-align:center;"> | |
<strong>Att.</strong> | |
</td> | |
<td width="10%" style="text-align:center;"> | |
<strong>W. Mod.</strong> | |
</td> | |
<td width="10%" style="text-align:center;"> | |
<strong>P. Mod.</strong> | |
</td> | |
</tr> | |
<xsl:call-template name="skills1" /> | |
</table> | |
</td> | |
<td width="33%" style="border-left: solid 1px #1c4a2d; border-right: solid 1px #1c4a2d; text-align:center;" valign="top"> | |
<strong>Aktionsfertigkeiten</strong> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="50%"> | |
<strong>Fertigkeit</strong> | |
</td> | |
<td width="10%" style="text-align:center;"> | |
<strong>Pool</strong> | |
</td> | |
<td width="10%" style="text-align:center;"> | |
<strong>W.</strong> | |
</td> | |
<td width="10%" style="text-align:center;"> | |
<strong>Att.</strong> | |
</td> | |
<td width="10%" style="text-align:center;"> | |
<strong>W. Mod.</strong> | |
</td> | |
<td width="10%" style="text-align:center;"> | |
<strong>P. Mod.</strong> | |
</td> | |
</tr> | |
<xsl:call-template name="skills2" /> | |
</table> | |
</td> | |
<td width="33%" style="text-align:center;" valign="top"> | |
<strong>Wissensfertigkeiten</strong> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="50%"> | |
<strong>Fertigkeit</strong> | |
</td> | |
<td width="10%" style="text-align:center;"> | |
<strong>Pool </strong> | |
</td> | |
<td width="10%" style="text-align:center;"> | |
<strong>W.</strong> | |
</td> | |
<td width="10%" style="text-align:center;"> | |
<strong>Att.</strong> | |
</td> | |
<td width="10%" style="text-align:center;"> | |
<strong>W. Mod.</strong> | |
</td> | |
<td width="10%" style="text-align:center;"> | |
<strong>P. Mod.</strong> | |
</td> | |
</tr> | |
<xsl:call-template name="skills3" /> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="rowsummary" colspan="3"> | |
Fertigkeiten | |
<span class="rowsummarybutton" onClick="showhide(this,'SkillsBlock');" colspan="1">Zeigen: Ja</span> | |
<span class="rowsummarybutton" onClick="zalomit(this,'SkillsBlock');" colspan="1">Seitenumbruch: Nein</span> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
</table> | |
</div> | |
<div class="block" id="ContactConditionBlock"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="100%"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="67%" style="text-align:center;" valign="top"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="tableborder"> | |
<tr> | |
<td width="20%"> | |
<strong>Name</strong> | |
</td> | |
<td width="20%"> | |
<strong>Ort</strong> | |
</td> | |
<td width="20%"> | |
<strong>Archetyp</strong> | |
</td> | |
<td width="10%" style="text-align:center;"> | |
<strong>Typ</strong> | |
</td> | |
<td width="15%" style="text-align:center;"> | |
<strong>Connection</strong> | |
</td> | |
<td width="15%" style="text-align:center;"> | |
<strong>Loyalität.</strong> | |
</td> | |
</tr> | |
<xsl:call-template name="contacts" /> | |
<tr> | |
<td class="rowsummary" colspan="6"> | |
Connections & Feinde | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
<tr> | |
<td> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="tableborder"> | |
<tr> | |
<td width="80%"> | |
<strong>Gaben/Handicaps</strong> | |
</td> | |
<td width="20%"> | |
</td> | |
</tr> | |
<xsl:call-template name="qualities" /> | |
<tr> | |
<td class="rowsummary" colspan="2"> | |
Gaben/Handicaps | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
<tr> | |
<td> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="tableborder"> | |
<tr> | |
<td width="50%"> | |
<strong>Panzerung</strong> | |
</td> | |
<td width="30%" style="text-align:center;"> | |
<strong>Wert</strong> | |
</td> | |
<td width="20%" style="text-align:center;"> | |
</td> | |
</tr> | |
<tr> | |
<td width="50%"> | |
<strong>Gesamt</strong> | |
</td> | |
<td width="30%" style="text-align:center;"> | |
<xsl:value-of select="armor" /> | |
</td> | |
<td width="20%" style="text-align:center;"> | |
</td> | |
</tr> | |
<xsl:call-template name="armor" /> | |
<tr> | |
<td class="rowsummary" colspan="3"> | |
Panzerung | |
<span class="rowsummarybutton" onClick="showhide(this,'ContactConditionBlock');" colspan="1">Zeigen: Ja</span> | |
<span class="rowsummarybutton" onClick="zalomit(this,'ContactConditionBlock');" colspan="1">Seitenumbruch: Nein</span> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
</table> | |
</td> | |
<td class="vseparator">  </td> | |
<td width="33%" style="text-align:center;" valign="top"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="tableborder"> | |
<tr> | |
<td width="50%" style="text-align:center;"> | |
<strong>Körperliche Schadensleiste</strong> | |
</td> | |
<td width="50%" style="text-align:center;"> | |
<strong>Geistige Schadensleiste</strong> | |
</td> | |
</tr> | |
<tr> | |
<td width="50%" valign="top"> | |
<xsl:call-template name="ConditionMonitor"> | |
<xsl:with-param name="PenaltyBox"><xsl:value-of select="cmthreshold" /></xsl:with-param> | |
<xsl:with-param name="Offset"><xsl:value-of select="cmthresholdoffset" /></xsl:with-param> | |
<xsl:with-param name="CMWidth">3</xsl:with-param> | |
<xsl:with-param name="TotalBoxes"><xsl:value-of select="physicalcm" /></xsl:with-param> | |
<xsl:with-param name="DamageTaken"><xsl:value-of select="physicalcmfilled" /></xsl:with-param> | |
<xsl:with-param name="OverFlow"><xsl:value-of select="cmoverflow" /></xsl:with-param> | |
</xsl:call-template> | |
</td> | |
<td width="50%" valign="top"> | |
<xsl:call-template name="ConditionMonitor"> | |
<xsl:with-param name="PenaltyBox"><xsl:value-of select="cmthreshold" /></xsl:with-param> | |
<xsl:with-param name="Offset"><xsl:value-of select="cmthresholdoffset" /></xsl:with-param> | |
<xsl:with-param name="CMWidth">3</xsl:with-param> | |
<xsl:with-param name="TotalBoxes"><xsl:value-of select="stuncm" /></xsl:with-param> | |
<xsl:with-param name="DamageTaken"><xsl:value-of select="stuncmfilled" /></xsl:with-param> | |
<xsl:with-param name="OverFlow">0</xsl:with-param> | |
</xsl:call-template> | |
</td> | |
</tr> | |
<tr> | |
<td class="rowsummary" colspan="2"> | |
Zustandsmonitor | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
</table> | |
</div> | |
<div class="block" id="WeaponBlock"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="67%" valign="top"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="tableborder"> | |
<tr> | |
<td width="20%"> | |
<strong>Waffe</strong> | |
</td> | |
<td width="10%" style="text-align:center;"> | |
<strong>Pool</strong> | |
</td> | |
<td width="15%" style="text-align:center;"> | |
<strong>Schaden</strong> | |
</td> | |
<td width="10%" style="text-align:center;"> | |
<strong>PB</strong> | |
</td> | |
<td width="11%" style="text-align:center;"> | |
<strong>Modus</strong> | |
</td> | |
<td width="10%" style="text-align:center;"> | |
<strong>RK</strong> | |
</td> | |
<td width="13%" style="text-align:center;"> | |
<strong>Muni</strong> | |
</td> | |
<td width="11%" style="text-align:center;"> | |
</td> | |
</tr> | |
<xsl:for-each select="weapons/weapon[type = 'Ranged']"> | |
<xsl:sort select="name" /> | |
<xsl:call-template name="rangedweapons"> | |
<xsl:with-param name="weapon" select="weapons/weapon" /> | |
</xsl:call-template> | |
</xsl:for-each> | |
<tr> | |
<td class="rowsummary" colspan="8"> | |
Fernkampfwaffen | |
<span class="rowsummarybutton" onClick="showhide(this,'WeaponBlock');" colspan="2">Zeigen: Ja</span> | |
<span class="rowsummarybutton" onClick="zalomit(this,'WeaponBlock');" colspan="2">Seitenumbruch: Nein</span> | |
</td> | |
</tr> | |
</table> | |
</td> | |
<td class="vseparator">  </td> | |
<td width="33%" valign="top"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="tableborder"> | |
<tr> | |
<td width="40%"> | |
<strong>Waffe</strong> | |
</td> | |
<td width="10%" style="text-align:center;"> | |
<strong>Pool</strong> | |
</td> | |
<td width="13%" style="text-align:center;"> | |
<strong>Schaden</strong> | |
</td> | |
<td width="13%" style="text-align:center;"> | |
<strong>PB</strong> | |
</td> | |
<td width="8%" style="text-align:center;"> | |
<strong>Reichweite</strong> | |
</td> | |
<td width="16%" style="text-align:center;"> | |
</td> | |
</tr> | |
<xsl:for-each select="weapons/weapon[type = 'Melee']"> | |
<xsl:sort select="name" /> | |
<xsl:call-template name="meleeweapons"> | |
<xsl:with-param name="weapon" select="weapons/weapon" /> | |
</xsl:call-template> | |
</xsl:for-each> | |
<tr> | |
<td class="rowsummary" colspan="6"> | |
Nahkampfwaffen | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
</table> | |
</div> | |
<xsl:if test="cyberwares/cyberware"> | |
<div class="block" id="CyberwareBlock"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="tableborder"> | |
<tr> | |
<td width="50%"> | |
<strong>Implantat</strong> | |
</td> | |
<td width="20%" style="text-align:center;"> | |
<strong>Essenz</strong> | |
</td> | |
<td width="20%" style="text-align:center;"> | |
<strong>Stufe</strong> | |
</td> | |
<td width="10%" style="text-align:center;"> | |
</td> | |
</tr> | |
<xsl:call-template name="cyberware" /> | |
<tr> | |
<td class="rowsummary" colspan="4"> | |
Cyberware/Bioware | |
<span class="rowsummarybutton" onClick="showhide(this,'CyberwareBlock');" colspan="1">Zeigen: Ja</span> | |
<span class="rowsummarybutton" onClick="zalomit(this,'CyberwareBlock');" colspan="1">Seitenumbruch: Nein</span> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
</table> | |
</div> | |
</xsl:if> | |
<xsl:for-each select="vehicles/vehicle"> | |
<xsl:sort select="name" /> | |
<xsl:call-template name="vehicles"> | |
<xsl:with-param name="vehicle" /> | |
<xsl:with-param name="VehicleNumber">Fahrzeugblock<xsl:value-of select="position()"/></xsl:with-param> | |
</xsl:call-template> | |
</xsl:for-each> | |
<xsl:if test="spells/spell"> | |
<div class="block" id="SpellBlock"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="tableborder"> | |
<tr> | |
<td width="25%"> | |
<strong>Zauber</strong> | |
</td> | |
<td width="13%" style="text-align:center;"> | |
<strong>Typ</strong> | |
</td> | |
<td width="13%" style="text-align:center;"> | |
<strong>Reichweite</strong> | |
</td> | |
<td width="13%" style="text-align:center;"> | |
<strong>Schaden</strong> | |
</td> | |
<td width="13%" style="text-align:center;"> | |
<strong>Dauer</strong> | |
</td> | |
<td width="13%" style="text-align:center;"> | |
<strong>Entzug</strong> | |
</td> | |
<td width="10%" style="text-align:center;"> | |
</td> | |
</tr> | |
<xsl:call-template name="spells" /> | |
<tr> | |
<td class="rowsummary" colspan="7"> | |
Zaubersprüche | |
<span class="rowsummarybutton" onClick="showhide(this,'SpellBlock');" colspan="1">Zeigen: Ja</span> | |
<span class="rowsummarybutton" onClick="zalomit(this,'SpellBlock');" colspan="1">Seitenumbruch: Nein</span> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
</table> | |
</div> | |
</xsl:if> | |
<xsl:if test="initiategrade > 0 or submersiongrade > 0"> | |
<div class="block" id="InitiationBlock"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="tableborder"> | |
<tr> | |
<td> | |
<xsl:choose> | |
<xsl:when test="submersiongrade > 0"> | |
<strong>Wandlungsgrad: </strong><xsl:value-of select="submersiongrade" /> | |
</xsl:when> | |
<xsl:otherwise> | |
<strong>Initiationsgrad: </strong><xsl:value-of select="initiategrade" /> | |
</xsl:otherwise> | |
</xsl:choose> | |
</td> | |
</tr> | |
<tr> | |
<td> | |
<xsl:choose> | |
<xsl:when test="submersiongrade > 0"> | |
<strong>Echos</strong> | |
</xsl:when> | |
<xsl:otherwise> | |
<strong>Metamagie</strong> | |
</xsl:otherwise> | |
</xsl:choose> | |
</td> | |
</tr> | |
<tr> | |
<td> | |
<xsl:for-each select="metamagics/metamagic"> | |
<xsl:sort select="name" /> | |
<xsl:value-of select="name" /><xsl:text> </xsl:text> | |
<xsl:value-of select="source" /><xsl:text> </xsl:text><xsl:value-of select="page" /> | |
<xsl:if test="notes != ''">(<xsl:value-of select="notes" />)</xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
</td> | |
</tr> | |
<tr> | |
<td class="rowsummary"> | |
<xsl:choose> | |
<xsl:when test="submersiongrade > 0"> | |
Wandlung | |
</xsl:when> | |
<xsl:otherwise> | |
Initiation | |
</xsl:otherwise> | |
</xsl:choose> | |
<span class="rowsummarybutton" onClick="showhide(this,'InitiationBlock');" colspan="1">Zeigen: Ja</span> | |
<span class="rowsummarybutton" onClick="zalomit(this,'InitiationBlock');" colspan="1">Seitenumbruch: Nein</span> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
</table> | |
</div> | |
</xsl:if> | |
<div class="block" id="ComlinkBlock"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="tableborder"> | |
<tr> | |
<td width="18%"> | |
<strong>Kommlink</strong> | |
</td> | |
<td width="16%" style="text-align:center;"> | |
<strong>Gerätestufe</strong> | |
</td> | |
<td width="14%" style="text-align:center;"> | |
<strong>Angriff</strong> | |
</td> | |
<td width="14%" style="text-align:center;"> | |
<strong>SLEAZE</strong> | |
</td> | |
<td width="14%" style="text-align:center;"> | |
<strong>DATA PROC.</strong> | |
</td> | |
<td width="14%" style="text-align:center;"> | |
<strong>Firewall</strong> | |
</td> | |
<td width="10%" style="text-align:center;"> </td> | |
</tr> | |
<xsl:call-template name="commlink" /> | |
<tr> | |
<td class="rowsummary" colspan="7"> | |
Geräte/Programme | |
<span class="rowsummarybutton" onClick="showhide(this,'ComlinkBlock');" colspan="1">Zeigen: Ja</span> | |
<span class="rowsummarybutton" onClick="zalomit(this,'ComlinkBlock');" colspan="1">Seitenumbruch: Nein</span> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
</table> | |
</div> | |
<xsl:if test="spirits/spirit"> | |
<div class="block" id="SpiritBlock"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="tableborder"> | |
<tr> | |
<td width="25%"> | |
<xsl:choose> | |
<xsl:when test="magenabled = 'True'"> | |
<strong>Geist</strong> | |
</xsl:when> | |
<xsl:otherwise> | |
<strong>Sprite</strong> | |
</xsl:otherwise> | |
</xsl:choose> | |
</td> | |
<td width="25%" style="text-align:center;"> | |
<xsl:choose> | |
<xsl:when test="magenabled = 'True'"> | |
<strong>Kraft</strong> | |
</xsl:when> | |
<xsl:otherwise> | |
<strong>Stufe</strong> | |
</xsl:otherwise> | |
</xsl:choose> | |
</td> | |
<td width="25%" style="text-align:center;"> | |
<strong>Dienste</strong> | |
</td> | |
<td width="25%" style="text-align:center;"> | |
<xsl:choose> | |
<xsl:when test="magenabled = 'True'"> | |
<strong>Gebunden/Ungebunden</strong> | |
</xsl:when> | |
<xsl:otherwise> | |
<strong>Registriert/Unregistriert</strong> | |
</xsl:otherwise> | |
</xsl:choose> | |
</td> | |
</tr> | |
<xsl:for-each select="spirits/spirit"> | |
<xsl:sort select="name" /> | |
<tr> | |
<td width="25%"> | |
<xsl:value-of select="name" /> | |
</td> | |
<td width="25%" style="text-align:center;"> | |
<xsl:value-of select="force" /> | |
</td> | |
<td width="25%" style="text-align:center;"> | |
<xsl:value-of select="services" /> | |
</td> | |
<td width="25%" style="text-align:center;"> | |
<xsl:choose> | |
<xsl:when test="../../magenabled = 'True'"> | |
<xsl:choose> | |
<xsl:when test="bound = 'True'">Gebunden</xsl:when> | |
<xsl:otherwise>Ungebunden</xsl:otherwise> | |
</xsl:choose> | |
</xsl:when> | |
<xsl:otherwise> | |
<xsl:choose> | |
<xsl:when test="bound = 'True'">Registriert</xsl:when> | |
<xsl:otherwise>Unregistriert</xsl:otherwise> | |
</xsl:choose> | |
</xsl:otherwise> | |
</xsl:choose> | |
</td> | |
</tr> | |
<xsl:if test="notes != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="4" class="notesrow"> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes" /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
</xsl:for-each> | |
<tr> | |
<td class="rowsummary" colspan="4"> | |
<xsl:choose> | |
<xsl:when test="magenabled = 'True'"> | |
<strong>Geister</strong> | |
</xsl:when> | |
<xsl:otherwise> | |
<strong>Sprites</strong> | |
</xsl:otherwise> | |
</xsl:choose> | |
<span class="rowsummarybutton" onClick="showhide(this,'SpiritBlock');" colspan="1">Zeigen: Ja</span> | |
<span class="rowsummarybutton" onClick="zalomit(this,'SpiritBlock');" colspan="1">Seitenumbruch: Nein</span> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
</table> | |
</div> | |
</xsl:if> | |
<xsl:if test="powers/power"> | |
<div class="block" id="PowerBlock"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="tableborder"> | |
<tr> | |
<td width="40%"> | |
<strong>Bezeichnung</strong> | |
</td> | |
<td width="20%" style="text-align:center;"> | |
<strong>Stufe</strong> | |
</td> | |
<td width="20%" style="text-align:center;"> | |
<strong>Punkte (Summe)</strong> | |
</td> | |
<td width="20%" style="text-align:center;"> | |
</td> | |
</tr> | |
<xsl:call-template name="powers" /> | |
<tr> | |
<td class="rowsummary" colspan="4"> | |
Adeptenkräfte | |
<span class="rowsummarybutton" onClick="showhide(this,'PowerBlock');" colspan="1">Zeigen: Ja</span> | |
<span class="rowsummarybutton" onClick="zalomit(this,'PowerBlock');" colspan="1">Seitenumbruch: Nein</span> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
</table> | |
</div> | |
</xsl:if> | |
<xsl:if test="critterpowers/critterpower"> | |
<div class="block" id="CritterBlock"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="tableborder"> | |
<tr> | |
<td width="50%"> | |
<strong>Bezeichnung</strong> | |
</td> | |
<td width="30%" style="text-align:center;"> | |
<strong>Stufe</strong> | |
</td> | |
<td width="20%" style="text-align:center;"> | |
</td> | |
</tr> | |
<xsl:call-template name="critterpowers" /> | |
<tr> | |
<td class="rowsummary" colspan="3"> | |
Critterkräfte | |
<span class="rowsummarybutton" onClick="showhide(this,'CritterBlock');" colspan="1">Zeigen: Ja</span> | |
<span class="rowsummarybutton" onClick="zalomit(this,'CritterBlock');" colspan="1">Seitenumbruch: Nein</span> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
</table> | |
</div> | |
</xsl:if> | |
<xsl:if test="techprograms/techprogram"> | |
<div class="block" id="ProgramBlock"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="tableborder"> | |
<tr> | |
<td width="40%"> | |
<strong>Bezeichnung</strong> | |
</td> | |
<td width="20%"> | |
<strong>Fertigkeit</strong> | |
</td> | |
<td width="20%" style="text-align:center;"> | |
<strong>Stufe</strong> | |
</td> | |
<td width="20%" style="text-align:center;"> | |
</td> | |
</tr> | |
<xsl:call-template name="complexforms" /> | |
<tr> | |
<td class="rowsummary" colspan="4"> | |
Komplexe Formen | |
<span class="rowsummarybutton" onClick="showhide(this,'ProgramBlock');" colspan="1">Zeigen: Ja</span> | |
<span class="rowsummarybutton" onClick="zalomit(this,'ProgramBlock');" colspan="1">Seitenumbruch: Nein</span> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
</table> | |
</div> | |
</xsl:if> | |
<xsl:if test="martialarts/martialart"> | |
<div class="block" id="MartialArtsBlock"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="tableborder"> | |
<tr> | |
<td width="50%"> | |
<strong>Bezeichnung</strong> | |
</td> | |
<td width="30%" style="text-align:center;"> | |
<strong>Stufe</strong> | |
</td> | |
<td width="20%" style="text-align:center;"> | |
</td> | |
</tr> | |
<xsl:call-template name="martialarts" /> | |
<tr> | |
<td class="rowsummary" colspan="3"> | |
Kampfkünste | |
<span class="rowsummarybutton" onClick="showhide(this,'MartialArtsBlock');" colspan="1">Zeigen: Ja</span> | |
<span class="rowsummarybutton" onClick="zalomit(this,'MartialArtsBlock');" colspan="1">Seitenumbruch: Nein</span> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
</table> | |
</div> | |
</xsl:if> | |
<xsl:if test="lifestyles != ''"> | |
<div class="block" id="LifestylesBlock"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="100%" class="tableborder"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="50%"> | |
<strong>Lebensstil</strong> | |
</td> | |
<td width="30%" style="text-align:center;"> | |
<strong>Monate</strong> | |
</td> | |
<td width="20%"></td> | |
</tr> | |
<xsl:for-each select="lifestyles/lifestyle"> | |
<xsl:sort select="name" /> | |
<tr> | |
<td width="50%"> | |
<xsl:value-of select="name" /> | |
<xsl:if test="lifestylename != ''"> ("<xsl:value-of select="lifestylename" />")</xsl:if> | |
</td> | |
<td width="30%" style="text-align:center;"> | |
<xsl:value-of select="months" /> | |
</td> | |
<td width="20%"> | |
<xsl:value-of select="source" /><xsl:text> </xsl:text><xsl:value-of select="page" /> | |
</td> | |
</tr> | |
<xsl:if test="comforts != ''"> | |
<tr> | |
<td colspan="3" class="indent"> | |
Komfort: <xsl:value-of select="comforts" />, | |
Unterhaltung: <xsl:value-of select="entertainment" />, | |
Grundversorgung: <xsl:value-of select="necessities" />, | |
Wohngegend: <xsl:value-of select="neighborhood" />, | |
Sicherheit: <xsl:value-of select="security" /> | |
<xsl:if test="qualities/quality"> | |
<br />Lebensstilgaben/-handicaps: | |
<xsl:for-each select="qualities/quality"> | |
<xsl:value-of select="." /> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
</xsl:if> | |
</td> | |
</tr> | |
</xsl:if> | |
<xsl:if test="notes != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="3" class="notesrow"> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes" /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
</xsl:for-each> | |
<tr> | |
<td class="rowsummary" colspan="3"> | |
Lebensstil | |
<span class="rowsummarybutton" onClick="showhide(this,'LifestylesBlock');" colspan="1">Zeigen: Ja</span> | |
<span class="rowsummarybutton" onClick="zalomit(this,'LifestylesBlock');" colspan="1">Seitenumbruch: Nein</span> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
</table> | |
</div> | |
</xsl:if> | |
<div class="block" id="GearBlock"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="100%" class="tableborder"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="33%" style="text-align:center;" valign="top"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="55%"> | |
<strong>Bezeichnung</strong> | |
</td> | |
<td width="15%" style="text-align:center;"> | |
<strong>Stufe</strong> | |
</td> | |
<td width="15%" style="text-align:center;"> | |
<strong>Anz.</strong> | |
</td> | |
<td width="15%" style="text-align:center;"> | |
</td> | |
</tr> | |
<xsl:call-template name="gear1" /> | |
</table> | |
</td> | |
<td width="33%" style="border-left: solid 1px #1c4a2d; border-right: solid 1px #1c4a2d; text-align:center;" valign="top"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="55%"> | |
<strong>Bezeichnung</strong> | |
</td> | |
<td width="15%" style="text-align:center;"> | |
<strong>Stufe</strong> | |
</td> | |
<td width="15%" style="text-align:center;"> | |
<strong>Anz.</strong> | |
</td> | |
<td width="15%" style="text-align:center;"> | |
</td> | |
</tr> | |
<xsl:call-template name="gear2" /> | |
</table> | |
</td> | |
<td width="33%" style="text-align:center;" valign="top"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="55%"> | |
<strong>Bezeichnung</strong> | |
</td> | |
<td width="15%" style="text-align:center;"> | |
<strong>Stufe</strong> | |
</td> | |
<td width="15%" style="text-align:center;"> | |
<strong>Anz.</strong> | |
</td> | |
<td width="15%" style="text-align:center;"> | |
</td> | |
</tr> | |
<xsl:call-template name="gear3" /> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="rowsummary" colspan="3"> | |
Ausrüstung | |
<span class="rowsummarybutton" onClick="showhide(this,'GearBlock');" colspan="1">Zeigen: Ja</span> | |
<span class="rowsummarybutton" onClick="zalomit(this,'GearBlock');" colspan="1">Seitenumbruch: Nein</span> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
</table> | |
</div> | |
<xsl:if test="description != ''"> | |
<div class="block" id="DescriptionBlock"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="100%" class="tableborder"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="description" /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
<tr> | |
<td class="rowsummary"> | |
Beschreibung | |
<span class="rowsummarybutton" onClick="showhide(this,'DescriptionBlock');" colspan="1">Zeigen: Ja</span> | |
<span class="rowsummarybutton" onClick="zalomit(this,'DescriptionBlock');" colspan="1">Seitenumbruch: Nein</span> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
</table> | |
</div> | |
</xsl:if> | |
<xsl:if test="background != ''"> | |
<div class="block" id="BackgroundBlock"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="100%" class="tableborder"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="background" /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
<tr> | |
<td class="rowsummary"> | |
Hintergrund | |
<span class="rowsummarybutton" onClick="showhide(this,'BackgroundBlock');" colspan="1">Zeigen: Ja</span> | |
<span class="rowsummarybutton" onClick="zalomit(this,'BackgroundBlock');" colspan="1">Seitenumbruch: Nein</span> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
</table> | |
</div> | |
</xsl:if> | |
<xsl:if test="concept != ''"> | |
<div class="block" id="ConceptBlock"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="100%" class="tableborder"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="concept" /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
<tr> | |
<td class="rowsummary"> | |
Charakterkonzept | |
<span class="rowsummarybutton" onClick="showhide(this,'ConceptBlock');" colspan="1">Zeigen: Ja</span> | |
<span class="rowsummarybutton" onClick="zalomit(this,'ConceptBlock');" colspan="1">Seitenumbruch: Nein</span> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
</table> | |
</div> | |
</xsl:if> | |
<xsl:if test="notes != ''"> | |
<div class="block" id="NotesBlock"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="100%" class="tableborder"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes" /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
<tr> | |
<td class="rowsummary"> | |
Notizen | |
<span class="rowsummarybutton" onClick="showhide(this,'NotesBlock');" colspan="1">Zeigen: Ja</span> | |
<span class="rowsummarybutton" onClick="zalomit(this,'NotesBlock');" colspan="1">Seitenumbruch: Nein</span> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
</table> | |
</div> | |
</xsl:if> | |
<xsl:if test="expenses"> | |
<div class="block" id="ExpensesBlock"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td width="50%" valign="top"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="tableborder"> | |
<tr> | |
<td width="30%"> | |
<strong>Datum</strong> | |
</td> | |
<td width="20%" style="text-align:center;"> | |
<strong>Menge</strong> | |
</td> | |
<td width="50%" style="text-align:center;"> | |
<strong>Grund</strong> | |
</td> | |
</tr> | |
<xsl:for-each select="expenses/expense[type = 'Karma']"> | |
<tr> | |
<td> | |
<xsl:value-of select="date" /> | |
</td> | |
<td style="text-align:right;"> | |
<xsl:value-of select="amount" />    | |
</td> | |
<td> | |
<xsl:value-of select="reason" /> | |
</td> | |
</tr> | |
</xsl:for-each> | |
<tr> | |
<td class="rowsummary" colspan="3"> | |
Karma Ausgaben | |
<span class="rowsummarybutton" onClick="showhide(this,'ExpensesBlock');" colspan="1">Zeigen: Ja</span> | |
<span class="rowsummarybutton" onClick="zalomit(this,'ExpensesBlock');" colspan="1">Seitenumbruch: Nein</span> | |
</td> | |
</tr> | |
</table> | |
</td> | |
<td class="vseparator">  </td> | |
<td width="50%" valign="top"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="tableborder"> | |
<tr> | |
<td width="30%"> | |
<strong>Datum</strong> | |
</td> | |
<td width="20%" style="text-align:center;"> | |
<strong>Menge</strong> | |
</td> | |
<td width="50%" style="text-align:center;"> | |
<strong>Grund</strong> | |
</td> | |
</tr> | |
<xsl:for-each select="expenses/expense[type = 'Nuyen']"> | |
<tr> | |
<td> | |
<xsl:value-of select="date" /> | |
</td> | |
<td style="text-align:right;"> | |
<xsl:value-of select="amount" />¥    | |
</td> | |
<td> | |
<xsl:value-of select="reason" /> | |
</td> | |
</tr> | |
</xsl:for-each> | |
<tr> | |
<td class="rowsummary" colspan="3"> | |
Nuyen Ausgaben | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
</table> | |
</div> | |
</xsl:if> | |
</body> | |
</html> | |
</xsl:template> | |
<xsl:template name="contacts"> | |
<xsl:for-each select="contacts/contact"> | |
<xsl:sort select="name"/> | |
<tr class="textrow" valign="top"> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td width="20%"> | |
<xsl:value-of select="name"/> | |
</td> | |
<td width="20%"> | |
<xsl:value-of select="location"/> | |
</td> | |
<td width="20%"> | |
<xsl:value-of select="role"/> | |
</td> | |
<td width="10%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="type"/> | |
</td> | |
<td width="15%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="connection"/> | |
</td> | |
<td width="15%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="loyalty"/> | |
</td> | |
</tr> | |
<xsl:if test="notes != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="4" class="notesrow"> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes"/> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
</xsl:for-each> | |
</xsl:template> | |
<xsl:template name="qualities"> | |
<xsl:for-each select="qualities/quality"> | |
<xsl:sort select="name" /> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td valign="top" width="80%"> | |
<xsl:value-of select="name" /> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" />)</xsl:if> | |
</td> | |
<td valign="top" width="20%"> | |
<xsl:value-of select="source" /><xsl:text> </xsl:text><xsl:value-of select="page" /> | |
</td> | |
</tr> | |
<xsl:if test="notes != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="3" class="notesrow"> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes" /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
</xsl:for-each> | |
</xsl:template> | |
<xsl:template name="rangedweapons"> | |
<xsl:param name="weapon" /> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td width="20%" valign="top"> | |
<xsl:value-of select="name" /> | |
<xsl:if test="weaponname != ''"> | |
("<xsl:value-of select="weaponname" />") | |
</xsl:if> | |
</td> | |
<td width="10%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="dicepool" /> | |
</td> | |
<td width="15%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="damage" /> | |
</td> | |
<td width="10%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="ap" /> | |
</td> | |
<td width="11%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="mode" /> | |
</td> | |
<td width="10%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="rc" /> | |
</td> | |
<td width="13%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="ammo" /> | |
</td> | |
<td width="11%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="source" /><xsl:text> </xsl:text><xsl:value-of select="page" /> | |
</td> | |
</tr> | |
<xsl:if test="accessories/accessory or mods/weaponmod"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="7" class="indent"> | |
<xsl:for-each select="accessories/accessory"> | |
<xsl:sort select="name" /> | |
<xsl:value-of select="name" /> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
<xsl:if test="accessories/accessory and mods/weaponmod">; </xsl:if> | |
<xsl:for-each select="mods/weaponmod"> | |
<xsl:sort select="name" /> | |
<xsl:value-of select="name" /> | |
<xsl:if test="rating > 0"> | |
Stufe <xsl:value-of select="rating" /> | |
</xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
</td> | |
</tr> | |
</xsl:if> | |
<xsl:if test="ranges/short != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td></td> | |
<td style="text-align:center;" valign="top">S: <xsl:value-of select="ranges/short" /></td> | |
<td style="text-align:center;" valign="top">M: <xsl:value-of select="ranges/medium" /></td> | |
<td style="text-align:center;" valign="top">L: <xsl:value-of select="ranges/long" /></td> | |
<td style="text-align:center;" valign="top">E: <xsl:value-of select="ranges/extreme" /></td> | |
<td colspan="2"></td> | |
</tr> | |
</xsl:if> | |
<xsl:if test="underbarrel/weapon"> | |
<xsl:for-each select="underbarrel/weapon"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td width="20%" valign="top"> | |
Unterlauf <xsl:value-of select="name" /> | |
<xsl:if test="weaponname != ''"> | |
("<xsl:value-of select="weaponname" />") | |
</xsl:if> | |
</td> | |
<td width="15%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="damage" /> | |
</td> | |
<td width="12%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="ap" /> | |
</td> | |
<td width="13%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="mode" /> | |
</td> | |
<td width="12%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="rc" /> | |
</td> | |
<td width="15%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="ammo" /> | |
</td> | |
<td width="13%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="source" /><xsl:text> </xsl:text><xsl:value-of select="page" /> | |
</td> | |
</tr> | |
<xsl:if test="accessories/accessory"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="7" class="indent"> | |
<xsl:for-each select="accessories/accessory"> | |
<xsl:sort select="name" /> | |
<xsl:value-of select="name" /> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
<xsl:if test="accessories/accessory and mods/weaponmod">; </xsl:if> | |
<xsl:for-each select="mods/weaponmod"> | |
<xsl:sort select="name" /> | |
<xsl:value-of select="name" /> | |
<xsl:if test="rating > 0"> | |
Stufe <xsl:value-of select="rating" /> | |
</xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
</td> | |
</tr> | |
</xsl:if> | |
<xsl:if test="ranges/short != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td></td> | |
<td style="text-align:center;" valign="top">S: <xsl:value-of select="ranges/short" /></td> | |
<td style="text-align:center;" valign="top">M: <xsl:value-of select="ranges/medium" /></td> | |
<td style="text-align:center;" valign="top">L: <xsl:value-of select="ranges/long" /></td> | |
<td style="text-align:center;" valign="top">E: <xsl:value-of select="ranges/extreme" /></td> | |
<td colspan="2"></td> | |
</tr> | |
</xsl:if> | |
</xsl:for-each> | |
</xsl:if> | |
<xsl:if test="notes != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="7" class="notesrow"> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes" /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
</xsl:template> | |
<xsl:template name="meleeweapons"> | |
<xsl:param name="weapon" /> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td width="40%" valign="top"> | |
<xsl:value-of select="name" /> | |
<xsl:if test="weaponname != ''"> | |
("<xsl:value-of select="weaponname" />") | |
</xsl:if> | |
</td> | |
<td width="10%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="dicepool" /> | |
</td> | |
<td width="13%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="damage" /> | |
</td> | |
<td width="13%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="ap" /> | |
</td> | |
<td width="8%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="reach" /> | |
</td> | |
<td width="16%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="source" /><xsl:text> </xsl:text><xsl:value-of select="page" /> | |
</td> | |
</tr> | |
<xsl:if test="accessories/accessory or mods/weaponmod"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="5" class="indent"> | |
<xsl:for-each select="accessories/accessory"> | |
<xsl:sort select="name" /> | |
<xsl:value-of select="name" /> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
<xsl:if test="accessories/accessory and mods/weaponmod">; </xsl:if> | |
<xsl:for-each select="mods/weaponmod"> | |
<xsl:sort select="name" /> | |
<xsl:value-of select="name" /> | |
<xsl:if test="rating > 0"> | |
Stufe <xsl:value-of select="rating" /> | |
</xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
</td> | |
</tr> | |
</xsl:if> | |
<xsl:if test="notes != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="5" class="notesrow"> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes" /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
</xsl:template> | |
<xsl:template name="armor"> | |
<xsl:for-each select="armors/armor"> | |
<xsl:sort select="name" /> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td width="50%" valign="top"> | |
<xsl:value-of select="name" /> | |
<xsl:if test="armorname != ''"> | |
("<xsl:value-of select="armorname" />") | |
</xsl:if> | |
</td> | |
<td width="30%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="armor" /> | |
</td> | |
<td width="20%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="source" /><xsl:text> </xsl:text><xsl:value-of select="page" /> | |
</td> | |
</tr> | |
<xsl:if test="armormods/armormod"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="3" class="indent"> | |
<xsl:for-each select="armormods/armormod"> | |
<xsl:sort select="name" /> | |
<xsl:value-of select="name" /> | |
<xsl:if test="rating != 0"><xsl:text> </xsl:text><xsl:value-of select="rating" /></xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
</td> | |
</tr> | |
</xsl:if> | |
<xsl:if test="gears/gear"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="3" class="indent"> | |
<xsl:for-each select="gears/gear"> | |
<xsl:sort select="name" /> | |
<xsl:value-of select="name" /> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" />)</xsl:if> | |
<xsl:if test="rating != 0"> Rating <xsl:value-of select="rating" /></xsl:if> | |
<xsl:if test="qty > 1"> x<xsl:value-of select="qty" /></xsl:if> | |
<xsl:if test="children/gear"> | |
[<xsl:call-template name="gearplugin"> | |
<xsl:with-param name="gear" select="." /> | |
</xsl:call-template>] | |
</xsl:if> | |
</xsl:for-each> | |
</td> | |
</tr> | |
</xsl:if> | |
<xsl:if test="notes != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="3" class="notesrow"> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes" /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
</xsl:for-each> | |
</xsl:template> | |
<xsl:template name="cyberware"> | |
<xsl:for-each select="cyberwares/cyberware"> | |
<xsl:sort select="name" /> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td width="50%" valign="top"> | |
<xsl:value-of select="name" /> | |
<xsl:if test="rating != 0"> Stufe <xsl:value-of select="rating" /></xsl:if> | |
<xsl:if test="location != ''"> (<xsl:value-of select="location" />)</xsl:if> | |
</td> | |
<td width="20%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="ess" /> | |
</td> | |
<td width="20%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="grade" /> | |
</td> | |
<td width="20%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="source" /><xsl:text> </xsl:text><xsl:value-of select="page" /> | |
</td> | |
</tr> | |
<xsl:if test="notes != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="4" class="notesrow"> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes" /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
<xsl:if test="children/cyberware"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="4" class="indent"> | |
<xsl:for-each select="children/cyberware"> | |
<xsl:value-of select="name" /> | |
<xsl:if test="rating != 0"><xsl:text> </xsl:text><xsl:value-of select="rating" /></xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
<xsl:if test="notes != ''"> (<xsl:value-of select="notes" />)</xsl:if> | |
</xsl:for-each> | |
</td> | |
</tr> | |
</xsl:if> | |
</xsl:for-each> | |
</xsl:template> | |
<xsl:template name="commlink"> | |
<xsl:for-each select="gears/gear[iscommlink = 'True']"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td width="18%" valign="top"> | |
<xsl:value-of select="name"/> (<xsl:value-of select="category"/>) | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra"/>)</xsl:if> | |
</td> | |
<td width="16%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="devicerating"/> | |
</td> | |
<td width="14%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="attack"/> | |
</td> | |
<td width="14%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="sleaze"/> | |
</td> | |
<td width="14%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="dataprocessing"/> | |
</td> | |
<td width="14%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="firewall"/> | |
</td> | |
<td width="10%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="source"/> | |
<xsl:text> </xsl:text> | |
<xsl:value-of select="page"/> | |
</td> | |
</tr> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="7" class="indent"> | |
<strong>Zubehör</strong> | |
</td> | |
</tr> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="7" class="indent"> | |
<xsl:for-each select="children/gear"> | |
<xsl:sort select="name"/> | |
<xsl:value-of select="name"/> | |
<xsl:if test="rating > 0"> | |
<xsl:text> </xsl:text> | |
<xsl:value-of select="rating"/> | |
</xsl:if> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra"/>)</xsl:if> | |
<xsl:if test="children/gear"> [<xsl:for-each select="children/gear"> | |
<xsl:sort select="name"/> | |
<xsl:value-of select="name"/> | |
<xsl:if test="rating != 0"><xsl:text> </xsl:text><xsl:value-of | |
select="rating"/></xsl:if> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" | |
/>)</xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each>] </xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
</td> | |
</tr> | |
<xsl:if test="notes != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="7" class="notesrow"> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes"/> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
</xsl:for-each> | |
<xsl:for-each select="armors/armor/gears/gear[iscommlink = 'True']"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td width="18%" valign="top"> | |
<xsl:value-of select="name"/> (<xsl:value-of select="category"/>) | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra"/>)</xsl:if> | |
</td> | |
<td width="16%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="devicerating"/> | |
</td> | |
<td width="14%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="attack"/> | |
</td> | |
<td width="14%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="sleaze"/> | |
</td> | |
<td width="14%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="dataprocessing"/> | |
</td> | |
<td width="14%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="firewall"/> | |
</td> | |
<td width="10%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="source"/> | |
<xsl:text> </xsl:text> | |
<xsl:value-of select="page"/> | |
</td> | |
</tr> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="7" class="indent"> | |
<strong>Zubehör</strong> | |
</td> | |
</tr> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="7" class="indent"> | |
<xsl:for-each select="children/gear"> | |
<xsl:sort select="name"/> | |
<xsl:value-of select="name"/> | |
<xsl:if test="rating > 0"> | |
<xsl:text> </xsl:text> | |
<xsl:value-of select="rating"/> | |
</xsl:if> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra"/>)</xsl:if> | |
<xsl:if test="children/gear"> [<xsl:for-each select="children/gear"> | |
<xsl:sort select="name"/> | |
<xsl:value-of select="name"/> | |
<xsl:if test="rating != 0"><xsl:text> </xsl:text><xsl:value-of | |
select="rating"/></xsl:if> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" | |
/>)</xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each>] </xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
</td> | |
</tr> | |
<xsl:if test="notes != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="7" class="notesrow"> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes"/> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
</xsl:for-each> | |
<xsl:for-each select="cyberwares/cyberware/gears/gear[iscommlink = 'True']"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td width="18%" valign="top"> | |
<xsl:value-of select="name"/> (<xsl:value-of select="category"/>) | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra"/>)</xsl:if> | |
</td> | |
<td width="16%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="devicerating"/> | |
</td> | |
<td width="14%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="attack"/> | |
</td> | |
<td width="14%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="sleaze"/> | |
</td> | |
<td width="14%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="dataprocessing"/> | |
</td> | |
<td width="14%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="firewall"/> | |
</td> | |
<td width="10%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="source"/> | |
<xsl:text> </xsl:text> | |
<xsl:value-of select="page"/> | |
</td> | |
</tr> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="7" class="indent"> | |
<strong>Zubehör</strong> | |
</td> | |
</tr> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="7" class="indent"> | |
<xsl:for-each select="children/gear"> | |
<xsl:sort select="name"/> | |
<xsl:value-of select="name"/> | |
<xsl:if test="rating > 0"> | |
<xsl:text> </xsl:text> | |
<xsl:value-of select="rating"/> | |
</xsl:if> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra"/>)</xsl:if> | |
<xsl:if test="children/gear"> [<xsl:for-each select="children/gear"> | |
<xsl:sort select="name"/> | |
<xsl:value-of select="name"/> | |
<xsl:if test="rating != 0"><xsl:text> </xsl:text><xsl:value-of | |
select="rating"/></xsl:if> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" | |
/>)</xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each>] </xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
</td> | |
</tr> | |
<xsl:if test="notes != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="7" class="notesrow"> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes"/> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
</xsl:for-each> | |
<xsl:for-each | |
select="cyberwares/cyberware/children/cyberware/gears/gear[iscommlink = 'True']"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td width="18%" valign="top"> | |
<xsl:value-of select="name"/> (<xsl:value-of select="category"/>) | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra"/>)</xsl:if> | |
</td> | |
<td width="16%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="devicerating"/> | |
</td> | |
<td width="14%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="attack"/> | |
</td> | |
<td width="14%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="sleaze"/> | |
</td> | |
<td width="14%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="dataprocessing"/> | |
</td> | |
<td width="14%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="firewall"/> | |
</td> | |
<td width="10%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="source"/> | |
<xsl:text> </xsl:text> | |
<xsl:value-of select="page"/> | |
</td> | |
</tr> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="6" class="indent"> | |
<strong>Zubehör</strong> | |
</td> | |
</tr> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="6" class="indent"> | |
<xsl:for-each select="children/gear"> | |
<xsl:sort select="name"/> | |
<xsl:value-of select="name"/> | |
<xsl:if test="rating > 0"> | |
<xsl:text> </xsl:text> | |
<xsl:value-of select="rating"/> | |
</xsl:if> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra"/>)</xsl:if> | |
<xsl:if test="children/gear"> [<xsl:for-each select="children/gear"> | |
<xsl:sort select="name"/> | |
<xsl:value-of select="name"/> | |
<xsl:if test="rating != 0"><xsl:text> </xsl:text><xsl:value-of | |
select="rating"/></xsl:if> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" | |
/>)</xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each>] </xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
</td> | |
</tr> | |
<xsl:if test="notes != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="6" class="notesrow"> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes"/> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
</xsl:for-each> | |
<xsl:for-each select="weapons/weapon/accessories/accessory/gears/gear[iscommlink = 'True']"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td width="18%" valign="top"> | |
<xsl:value-of select="name"/> (<xsl:value-of select="category"/>) | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra"/>)</xsl:if> | |
</td> | |
<td width="16%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="devicerating"/> | |
</td> | |
<td width="14%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="attack"/> | |
</td> | |
<td width="14%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="sleaze"/> | |
</td> | |
<td width="14%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="dataprocessing"/> | |
</td> | |
<td width="14%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="firewall"/> | |
</td> | |
<td width="10%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="source"/> | |
<xsl:text> </xsl:text> | |
<xsl:value-of select="page"/> | |
</td> | |
</tr> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="6" class="indent"> | |
<strong>Zubehör</strong> | |
</td> | |
</tr> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="6" class="indent"> | |
<xsl:for-each select="children/gear"> | |
<xsl:sort select="name"/> | |
<xsl:value-of select="name"/> | |
<xsl:if test="rating > 0"> | |
<xsl:text> </xsl:text> | |
<xsl:value-of select="rating"/> | |
</xsl:if> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra"/>)</xsl:if> | |
<xsl:if test="children/gear"> [<xsl:for-each select="children/gear"> | |
<xsl:sort select="name"/> | |
<xsl:value-of select="name"/> | |
<xsl:if test="rating != 0"><xsl:text> </xsl:text><xsl:value-of | |
select="rating"/></xsl:if> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" | |
/>)</xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each>] </xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
</td> | |
</tr> | |
<xsl:if test="notes != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="6" class="notesrow"> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes"/> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
</xsl:for-each> | |
<xsl:if test="gears/gear[isprogram = 'True']"> | |
<tr> | |
<td colspan="6"> | |
<strong>Programme</strong> | |
<br/> | |
<xsl:for-each select="gears/gear[isprogram = 'True']"> | |
<xsl:sort select="name"/> | |
<xsl:value-of select="name"/> | |
<xsl:if test="rating > 0"> | |
<xsl:text> </xsl:text> | |
<xsl:value-of select="rating"/> | |
</xsl:if> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra"/>)</xsl:if> | |
<xsl:if test="children/gear"> [<xsl:for-each select="children/gear"> | |
<xsl:sort select="name"/> | |
<xsl:value-of select="name"/> | |
<xsl:if test="rating != 0"><xsl:text> </xsl:text><xsl:value-of | |
select="rating"/></xsl:if> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" | |
/>)</xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each>] </xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
</td> | |
</tr> | |
</xsl:if> | |
<xsl:if test="armors/armor/gears/gear[isprogram = 'True']"> | |
<tr> | |
<td colspan="6"> | |
<strong>Programme</strong> | |
<br/> | |
<xsl:for-each select="armors/armor/gears/gear[isprogram = 'True']"> | |
<xsl:sort select="name"/> | |
<xsl:value-of select="name"/> | |
<xsl:if test="rating > 0"> | |
<xsl:text> </xsl:text> | |
<xsl:value-of select="rating"/> | |
</xsl:if> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra"/>)</xsl:if> | |
<xsl:if test="children/gear"> [<xsl:for-each select="children/gear"> | |
<xsl:sort select="name"/> | |
<xsl:value-of select="name"/> | |
<xsl:if test="rating != 0"><xsl:text> </xsl:text><xsl:value-of | |
select="rating"/></xsl:if> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" | |
/>)</xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each>] </xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
</td> | |
</tr> | |
</xsl:if> | |
<xsl:if test="cyberwares/cyberware/gears/gear[isprogram = 'True']"> | |
<tr> | |
<td colspan="6"> | |
<strong>Programme</strong> | |
<br/> | |
<xsl:for-each select="cyberwares/cyberware/gears/gear[isprogram = 'True']"> | |
<xsl:sort select="name"/> | |
<xsl:value-of select="name"/> | |
<xsl:if test="rating > 0"> | |
<xsl:text> </xsl:text> | |
<xsl:value-of select="rating"/> | |
</xsl:if> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra"/>)</xsl:if> | |
<xsl:if test="children/gear"> [<xsl:for-each select="children/gear"> | |
<xsl:sort select="name"/> | |
<xsl:value-of select="name"/> | |
<xsl:if test="rating != 0"><xsl:text> </xsl:text><xsl:value-of | |
select="rating"/></xsl:if> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" | |
/>)</xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each>] </xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
</td> | |
</tr> | |
</xsl:if> | |
<xsl:if test="cyberwares/cyberware/children/cyberwear/gears/gear[isprogram = 'True']"> | |
<tr> | |
<td colspan="6"> | |
<strong>Programme</strong> | |
<br/> | |
<xsl:for-each | |
select="cyberwares/cyberware/children/cyberware/gears/gear[isprogram = 'True']"> | |
<xsl:sort select="name"/> | |
<xsl:value-of select="name"/> | |
<xsl:if test="rating > 0"> | |
<xsl:text> </xsl:text> | |
<xsl:value-of select="rating"/> | |
</xsl:if> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra"/>)</xsl:if> | |
<xsl:if test="children/gear"> [<xsl:for-each select="children/gear"> | |
<xsl:sort select="name"/> | |
<xsl:value-of select="name"/> | |
<xsl:if test="rating != 0"><xsl:text> </xsl:text><xsl:value-of | |
select="rating"/></xsl:if> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" | |
/>)</xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each>] </xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
</td> | |
</tr> | |
</xsl:if> | |
<xsl:if test="weapons/weapon/accessories/accessory/gears/gear[isprogram = 'True']"> | |
<tr> | |
<td colspan="6"> | |
<strong>Programme</strong> | |
<br/> | |
<xsl:for-each | |
select="weapons/weapon/accessories/accessory/gears/gear[isprogram = 'True']"> | |
<xsl:sort select="name"/> | |
<xsl:value-of select="name"/> | |
<xsl:if test="rating > 0"> | |
<xsl:text> </xsl:text> | |
<xsl:value-of select="rating"/> | |
</xsl:if> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra"/>)</xsl:if> | |
<xsl:if test="children/gear"> [<xsl:for-each select="children/gear"> | |
<xsl:sort select="name"/> | |
<xsl:value-of select="name"/> | |
<xsl:if test="rating != 0"><xsl:text> </xsl:text><xsl:value-of | |
select="rating"/></xsl:if> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" | |
/>)</xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each>] </xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
</td> | |
</tr> | |
</xsl:if> | |
</xsl:template> | |
<xsl:template name="spells"> | |
<tr> | |
<td colspan="7" valign="top"> | |
Tradition: <xsl:value-of select="tradition/name" />    | |
Entzugswiderstand mit <xsl:value-of select="tradition/drain" /> | |
</td> | |
</tr> | |
<xsl:variable name="sortedlist"> | |
<xsl:for-each select="spells/spell"> | |
<xsl:sort select="category" /> | |
<xsl:sort select="name" /> | |
<xsl:copy-of select="current()"/> | |
</xsl:for-each> | |
</xsl:variable> | |
<xsl:for-each select="msxsl:node-set($sortedlist)/spell"> | |
<xsl:choose> | |
<xsl:when test="position() = 1"> | |
<tr><td colspan="7" style="border-bottom:solid black 1px;"><strong><xsl:value-of select="category" /> Zauber</strong></td></tr> | |
</xsl:when> | |
<xsl:otherwise> | |
<xsl:choose> | |
<xsl:when test="category != preceding-sibling::spell[1]/category"> | |
<tr><td colspan="7" style="border-bottom:solid black 1px;"><strong><xsl:value-of select="category" /> Zauber</strong></td></tr> | |
</xsl:when> | |
</xsl:choose> | |
</xsl:otherwise> | |
</xsl:choose> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td width="25%" valign="top"> | |
<xsl:value-of select="name" /> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" />)</xsl:if> | |
</td> | |
<td width="13%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="type" /> | |
</td> | |
<td width="13%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="range" /> | |
</td> | |
<td width="13%" style="text-align:center;" valign="top"> | |
<xsl:choose> | |
<xsl:when test="damage = '0'">-</xsl:when> | |
<xsl:otherwise><xsl:value-of select="damage" /></xsl:otherwise> | |
</xsl:choose> | |
</td> | |
<td width="13%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="duration" /> | |
</td> | |
<td width="13%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="dv" /> | |
</td> | |
<td width="10%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="source" /><xsl:text> </xsl:text><xsl:value-of select="page" /> | |
</td> | |
</tr> | |
<xsl:if test="notes != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="7" class="notesrow"> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes" /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
</xsl:for-each> | |
</xsl:template> | |
<xsl:template name="powers"> | |
<xsl:for-each select="powers/power"> | |
<xsl:sort select="name" /> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td width="40%"> | |
<xsl:value-of select="name" /> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" />)</xsl:if> | |
</td> | |
<td width="20%" style="text-align:center;"> | |
<xsl:if test="rating > 0"> | |
<xsl:value-of select="rating" /> | |
</xsl:if> | |
</td> | |
<td width="20%" style="text-align:center;"> | |
<xsl:value-of select="pointsperlevel" /> (<xsl:value-of select="totalpoints" />) | |
</td> | |
<td width="20%" style="text-align:center;"> | |
<xsl:value-of select="source" /><xsl:text> </xsl:text><xsl:value-of select="page" /> | |
</td> | |
</tr> | |
<xsl:if test="notes != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="4" class="notesrow"> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes" /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
</xsl:for-each> | |
</xsl:template> | |
<xsl:template name="critterpowers"> | |
<xsl:for-each select="critterpowers/critterpower"> | |
<xsl:sort select="name" /> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td width="50%"> | |
<xsl:value-of select="name" /> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" />)</xsl:if> | |
</td> | |
<td width="30%" style="text-align:center;"> | |
<xsl:value-of select="rating" /> | |
</td> | |
<td width="20%" style="text-align:center;"> | |
<xsl:value-of select="source" /><xsl:text> </xsl:text><xsl:value-of select="page" /> | |
</td> | |
</tr> | |
<xsl:if test="notes != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="3" class="notesrow"> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes" /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
</xsl:for-each> | |
</xsl:template> | |
<xsl:template name="complexforms"> | |
<tr> | |
<td colspan="5" valign="top"> | |
Resonanzraum: <xsl:value-of select="stream" />    | |
Schwundwiderstand mit <xsl:value-of select="drain" /> | |
</td> | |
</tr> | |
<xsl:for-each select="techprograms/techprogram"> | |
<xsl:sort select="name" /> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td width="40%"> | |
<xsl:value-of select="name" /> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" />)</xsl:if> | |
<xsl:if test="programoptions/programoption"> | |
(<xsl:for-each select="programoptions/programoption"> | |
<xsl:sort select="name" /> | |
<xsl:value-of select="name" /> | |
<xsl:if test="rating > 0"><xsl:text> </xsl:text><xsl:value-of select="rating" /></xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each>) | |
</xsl:if> | |
</td> | |
<td width="20%"> | |
<xsl:value-of select="skill" /> | |
</td> | |
<td width="20%" style="text-align:center;"> | |
<xsl:value-of select="rating" /> | |
</td> | |
<td width="20%" style="text-align:center;"> | |
<xsl:value-of select="source" /><xsl:text> </xsl:text><xsl:value-of select="page" /> | |
</td> | |
</tr> | |
<xsl:if test="notes != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="4" class="notesrow"> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes" /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
</xsl:for-each> | |
</xsl:template> | |
<xsl:template name="martialarts"> | |
<xsl:for-each select="martialarts/martialart"> | |
<xsl:sort select="name" /> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td width="50%"> | |
<xsl:value-of select="name" /> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" />)</xsl:if> | |
</td> | |
<td width="30%" style="text-align:center;"> | |
<xsl:value-of select="rating" /> | |
</td> | |
<td width="20%" style="text-align:center;"> | |
<xsl:value-of select="source" /><xsl:text> </xsl:text><xsl:value-of select="page" /> | |
</td> | |
</tr> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="3" class="indent"> | |
<xsl:for-each select="martialartadvantages/martialartadvantage"> | |
<xsl:sort select="." /> | |
<xsl:value-of select="." /> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
</td> | |
</tr> | |
<xsl:if test="notes != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="3" class="notesrow"> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes" /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
</xsl:for-each> | |
<tr> | |
<td colspan="3"> | |
<strong>Manöver</strong> | |
</td> | |
</tr> | |
<tr> | |
<td colspan="3" class="indent"> | |
<xsl:for-each select="martialartmaneuvers/martialartmaneuver"> | |
<xsl:sort select="name" /> | |
<xsl:value-of select="name" /><xsl:text> </xsl:text><xsl:value-of select="source" /><xsl:text> </xsl:text><xsl:value-of select="page" /> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
</td> | |
</tr> | |
</xsl:template> | |
<xsl:template name="vehicles"> | |
<xsl:param name="vehicle" /> | |
<xsl:param name="VehicleNumber" /> | |
<div class="block"> | |
<xsl:attribute name="id"><xsl:value-of select="$VehicleNumber" /></xsl:attribute> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="tableborder"> | |
<tr> | |
<td width="35%"> | |
<strong>Fahrzeug</strong> | |
</td> | |
<td width="8%" style="text-align:center;"> | |
<strong>Handl.</strong> | |
</td> | |
<td width="8%" style="text-align:center;"> | |
<strong>Beschl.</strong> | |
</td> | |
<td width="5%" style="text-align:center;"> | |
<strong>Geschw.</strong> | |
</td> | |
<td width="5%" style="text-align:center;"> | |
<strong>Pilot</strong> | |
</td> | |
<td width="5%" style="text-align:center;"> | |
<strong>Rumpf</strong> | |
</td> | |
<td width="5%" style="text-align:center;"> | |
<strong>Panz.</strong> | |
</td> | |
<td width="5%" style="text-align:center;"> | |
<strong>Sensor</strong> | |
</td> | |
<td width="5%" style="text-align:center;"> | |
<strong>SM</strong> | |
</td> | |
<td width="5%" style="text-align:center;"> | |
<strong>Sitze</strong> | |
</td> | |
<td width="8%" style="text-align:center;"> | |
<strong>G-Stuf.</strong> | |
</td> | |
<td width="8%" style="text-align:center;"> | |
</td> | |
</tr> | |
<tr> | |
<td width="35%" valign="top"> | |
<xsl:value-of select="name"/> | |
<xsl:if test="vehiclename != ''"> ("<xsl:value-of | |
select="vehiclename"/>") </xsl:if> | |
</td> | |
<td width="8%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="handling"/> | |
</td> | |
<td width="8%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="accel"/> | |
</td> | |
<td width="5%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="speed"/> | |
</td> | |
<td width="5%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="pilot"/> | |
</td> | |
<td width="5%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="body"/> | |
</td> | |
<td width="5%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="armor"/> | |
</td> | |
<td width="5%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="sensor"/> (<xsl:value-of | |
select="sensorsignal"/>) </td> | |
<td width="5%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="physicalcm"/> | |
</td> | |
<td width="5%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="seats"/> | |
</td> | |
<td width="8%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="devicerating"/> | |
</td> | |
<td width="8%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="source"/> | |
<xsl:text> </xsl:text> | |
<xsl:value-of select="page"/> | |
</td> | |
</tr> | |
<xsl:if test="mods/mod"> | |
<tr> | |
<td colspan="15" class="indent"> | |
<xsl:for-each select="mods/mod"> | |
<xsl:sort select="name" /> | |
<xsl:value-of select="name" /> | |
<xsl:if test="rating != 0"> Stufe <xsl:value-of select="rating" /></xsl:if> | |
<xsl:if test="cyberwares/cyberware"> | |
(<xsl:for-each select="cyberwares/cyberware"> | |
<xsl:sort select="name" /> | |
<xsl:value-of select="name" /> | |
<xsl:if test="rating != 0"> Stufe <xsl:value-of select="rating" /></xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each>) | |
</xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
</td> | |
</tr> | |
</xsl:if> | |
<xsl:if test="gears/gear"> | |
<tr> | |
<td colspan="15" class="indent"> | |
<xsl:for-each select="gears/gear"> | |
<xsl:sort select="name" /> | |
<xsl:value-of select="name" /> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" />)</xsl:if> | |
<xsl:if test="rating > 0"> Stufe <xsl:value-of select="rating" /></xsl:if> | |
<xsl:if test="qty > 1"> | |
x<xsl:value-of select="qty" /> | |
</xsl:if> | |
<xsl:if test="children/gear"> | |
(<xsl:for-each select="children/gear"> | |
<xsl:sort select="name" /> | |
<xsl:value-of select="name" /> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" />)</xsl:if> | |
<xsl:if test="rating > 0"> | |
Rating <xsl:value-of select="rating" /> | |
</xsl:if> | |
<xsl:if test="children/gear"> | |
[<xsl:for-each select="children/gear"> | |
<xsl:sort select="name" /> | |
<xsl:value-of select="name" /> | |
<xsl:if test="rating != 0"><xsl:text> </xsl:text><xsl:value-of select="rating" /></xsl:if> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" />)</xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each>] | |
</xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each>) | |
</xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
</td> | |
</tr> | |
</xsl:if> | |
<xsl:if test="mods/mod/weapons/weapon[type = 'Ranged'] or weapons/weapon[type = 'Ranged']"> | |
<tr> | |
<td colspan="15" class="indent"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="tableborder"> | |
<tr> | |
<td width="20%"> | |
<strong>Waffe</strong> | |
</td> | |
<td width="15%" style="text-align:center;"> | |
<strong>Schaden</strong> | |
</td> | |
<td width="12%" style="text-align:center;"> | |
<strong>PB</strong> | |
</td> | |
<td width="13%" style="text-align:center;"> | |
<strong>Modus</strong> | |
</td> | |
<td width="12%" style="text-align:center;"> | |
<strong>RK</strong> | |
</td> | |
<td width="15%" style="text-align:center;"> | |
<strong>Muni</strong> | |
</td> | |
<td width="13%" style="text-align:center;"> | |
</td> | |
</tr> | |
<xsl:for-each select="mods/mod/weapons/weapon[type = 'Ranged']"> | |
<xsl:sort select="name" /> | |
<xsl:call-template name="rangedweapons"> | |
<xsl:with-param name="weapon" select="weapon" /> | |
</xsl:call-template> | |
</xsl:for-each> | |
<xsl:for-each select="weapons/weapon[type = 'Ranged']"> | |
<xsl:sort select="name" /> | |
<xsl:call-template name="rangedweapons"> | |
<xsl:with-param name="weapon" select="weapon" /> | |
</xsl:call-template> | |
</xsl:for-each> | |
<tr> | |
<td class="rowsummary" colspan="7"> | |
Fernkampfwaffen | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
</xsl:if> | |
<xsl:if test="notes != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="15" class="notesrow"> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes" /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
<tr> | |
<td class="rowsummary" colspan="15"> | |
<table width="100%" cellspacing="0" cellpadding="0" border="0"> | |
<tr> | |
<td class="rowsummary"> | |
Fahrzeug/Drohne | |
</td> | |
<td class="rowsummarybutton" colspan="1"> | |
<xsl:attribute name="onClick">showhide(this,'<xsl:value-of select="$VehicleNumber" />');</xsl:attribute> | |
Zeigen: Ja | |
</td> | |
<td class="rowsummarybutton" width="50%" colspan="1"> | |
<xsl:attribute name="onClick">zalomit(this,'<xsl:value-of select="$VehicleNumber" />');</xsl:attribute> | |
Seitenumbruch: Nein | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
</table> | |
</td> | |
</tr> | |
<tr> | |
<td class="hseparator"></td> | |
</tr> | |
</table> | |
</div> | |
</xsl:template> | |
<xsl:template name="gearplugin"> | |
<xsl:param name="gear" /> | |
<xsl:for-each select="children/gear"> | |
<xsl:sort select="name" /> | |
<xsl:value-of select="name" /> | |
<xsl:if test="rating != 0"><xsl:text> </xsl:text><xsl:value-of select="rating" /></xsl:if> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" />)</xsl:if> | |
<xsl:if test="children/gear"> | |
[<xsl:call-template name="gearplugin"> | |
<xsl:with-param name="gear" select="." /> | |
</xsl:call-template>] | |
</xsl:if> | |
<xsl:if test="position() != last()">; </xsl:if> | |
</xsl:for-each> | |
</xsl:template> | |
<xsl:template name="gear1"> | |
<xsl:variable name="halfcut" select="round(count(gears/gear[iscommlink != 'True']) div 3)"/> | |
<xsl:variable name="sortedcopy"> | |
<xsl:for-each select="gears/gear[iscommlink != 'True']"> | |
<xsl:sort select="location" /> | |
<xsl:sort select="name" /> | |
<xsl:if test="position() <= $halfcut"> | |
<xsl:copy-of select="current()"/> | |
</xsl:if> | |
</xsl:for-each> | |
</xsl:variable> | |
<xsl:for-each select="msxsl:node-set($sortedcopy)/gear"> | |
<xsl:choose> | |
<xsl:when test="position() = 1"> | |
<tr><td colspan="4" style="border-bottom:solid black 1px;"><strong><xsl:value-of select="location" /></strong></td></tr> | |
</xsl:when> | |
<xsl:otherwise> | |
<xsl:choose> | |
<xsl:when test="location != preceding-sibling::gear[1]/location"> | |
<tr><td colspan="4" style="border-bottom:solid black 1px;"><strong><xsl:value-of select="location" /></strong></td></tr> | |
</xsl:when> | |
</xsl:choose> | |
</xsl:otherwise> | |
</xsl:choose> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td width="55%" valign="top"> | |
<xsl:value-of select="name" /> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" />)</xsl:if> | |
</td> | |
<td width="15%" style="text-align:center;" valign="top"> | |
<xsl:choose> | |
<xsl:when test="rating = 0">-</xsl:when> | |
<xsl:otherwise><xsl:value-of select="rating" /></xsl:otherwise> | |
</xsl:choose> | |
</td> | |
<td width="15%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="qty" /> | |
</td> | |
<td width="15%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="source" /><xsl:text> </xsl:text><xsl:value-of select="page" /> | |
</td> | |
</tr> | |
<xsl:if test="children/gear"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="4" class="indent"> | |
<xsl:call-template name="gearplugin"> | |
<xsl:with-param name="gear" select="." /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
<xsl:if test="notes != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="4" class="notesrow"> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes" /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
</xsl:for-each> | |
</xsl:template> | |
<xsl:template name="gear2"> | |
<xsl:variable name="halfcut" select="round(count(gears/gear[iscommlink != 'True']) div 3)"/> | |
<xsl:variable name="sortedcopy"> | |
<xsl:for-each select="gears/gear[iscommlink != 'True']"> | |
<xsl:sort select="location" /> | |
<xsl:sort select="name" /> | |
<xsl:if test="position() > $halfcut and position() <= $halfcut * 2"> | |
<xsl:copy-of select="current()"/> | |
</xsl:if> | |
</xsl:for-each> | |
</xsl:variable> | |
<xsl:for-each select="msxsl:node-set($sortedcopy)/gear"> | |
<xsl:choose> | |
<xsl:when test="position() = 1"> | |
<tr><td colspan="4" style="border-bottom:solid black 1px;"><strong><xsl:value-of select="location" /></strong></td></tr> | |
</xsl:when> | |
<xsl:otherwise> | |
<xsl:choose> | |
<xsl:when test="location != preceding-sibling::gear[1]/location"> | |
<tr><td colspan="4" style="border-bottom:solid black 1px;"><strong><xsl:value-of select="location" /></strong></td></tr> | |
</xsl:when> | |
</xsl:choose> | |
</xsl:otherwise> | |
</xsl:choose> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td width="55%" valign="top"> | |
<xsl:value-of select="name" /> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" />)</xsl:if> | |
</td> | |
<td width="15%" style="text-align:center;" valign="top"> | |
<xsl:choose> | |
<xsl:when test="rating = 0">-</xsl:when> | |
<xsl:otherwise><xsl:value-of select="rating" /></xsl:otherwise> | |
</xsl:choose> | |
</td> | |
<td width="15%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="qty" /> | |
</td> | |
<td width="15%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="source" /><xsl:text> </xsl:text><xsl:value-of select="page" /> | |
</td> | |
</tr> | |
<xsl:if test="children/gear"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="4" class="indent"> | |
<xsl:call-template name="gearplugin"> | |
<xsl:with-param name="gear" select="." /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
<xsl:if test="notes != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="4" class="notesrow"> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes" /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
</xsl:for-each> | |
</xsl:template> | |
<xsl:template name="gear3"> | |
<xsl:variable name="halfcut" select="round(count(gears/gear[iscommlink != 'True']) div 3)"/> | |
<xsl:variable name="sortedcopy"> | |
<xsl:for-each select="gears/gear[iscommlink != 'True']"> | |
<xsl:sort select="location" /> | |
<xsl:sort select="name" /> | |
<xsl:if test="position() > $halfcut * 2"> | |
<xsl:copy-of select="current()"/> | |
</xsl:if> | |
</xsl:for-each> | |
</xsl:variable> | |
<xsl:for-each select="msxsl:node-set($sortedcopy)/gear"> | |
<xsl:choose> | |
<xsl:when test="position() = 1"> | |
<tr><td colspan="4" style="border-bottom:solid black 1px;"><strong><xsl:value-of select="location" /></strong></td></tr> | |
</xsl:when> | |
<xsl:otherwise> | |
<xsl:choose> | |
<xsl:when test="location != preceding-sibling::gear[1]/location"> | |
<tr><td colspan="4" style="border-bottom:solid black 1px;"><strong><xsl:value-of select="location" /></strong></td></tr> | |
</xsl:when> | |
</xsl:choose> | |
</xsl:otherwise> | |
</xsl:choose> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td width="55%" valign="top"> | |
<xsl:value-of select="name" /> | |
<xsl:if test="extra != ''"> (<xsl:value-of select="extra" />)</xsl:if> | |
</td> | |
<td width="15%" style="text-align:center;" valign="top"> | |
<xsl:choose> | |
<xsl:when test="rating = 0">-</xsl:when> | |
<xsl:otherwise><xsl:value-of select="rating" /></xsl:otherwise> | |
</xsl:choose> | |
</td> | |
<td width="15%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="qty" /> | |
</td> | |
<td width="15%" style="text-align:center;" valign="top"> | |
<xsl:value-of select="source" /><xsl:text> </xsl:text><xsl:value-of select="page" /> | |
</td> | |
</tr> | |
<xsl:if test="children/gear"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="4" class="indent"> | |
<xsl:call-template name="gearplugin"> | |
<xsl:with-param name="gear" select="." /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
<xsl:if test="notes != ''"> | |
<tr> | |
<xsl:if test="position() mod 2 != 1"> | |
<xsl:attribute name="bgcolor">#e4e4e4</xsl:attribute> | |
</xsl:if> | |
<td colspan="4" class="notesrow"> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text" select="notes" /> | |
</xsl:call-template> | |
</td> | |
</tr> | |
</xsl:if> | |
</xsl:for-each> | |
</xsl:template> | |
<!-- | |
**** EdgeBox(LowBox,HighBox) | |
Params: | |
*LowBox: This is the number of the first box in this Row | |
*HighBox: this is the last box in this Row | |
This template draws a circle. Then it determins if more boxes are needed for this | |
Row(Is LowBox less than HighBox), if more are needed, it recursively calls itself | |
incrementing LowBox and HighBox by CMWidth. | |
--> | |
<xsl:template name="EdgeBox"> | |
<xsl:param name="LowBox">1</xsl:param> | |
<xsl:param name="HighBox">3</xsl:param> | |
<xsl:if test="$LowBox <= $HighBox"> | |
O | |
</xsl:if> | |
<xsl:if test="$LowBox < $HighBox"> | |
<xsl:call-template name="EdgeBox"> | |
<xsl:with-param name="LowBox"><xsl:value-of select="$LowBox + 1" /></xsl:with-param> | |
<xsl:with-param name="HighBox"><xsl:value-of select="$HighBox" /></xsl:with-param> | |
</xsl:call-template> | |
</xsl:if> | |
</xsl:template> | |
<xsl:template name="PreserveLineBreaks"> | |
<xsl:param name="text"/> | |
<xsl:choose> | |
<xsl:when test="contains($text,'
')"> | |
<xsl:value-of select="substring-before($text,'
')"/> | |
<br/> | |
<xsl:call-template name="PreserveLineBreaks"> | |
<xsl:with-param name="text"> | |
<xsl:value-of select="substring-after($text,'
')"/> | |
</xsl:with-param> | |
</xsl:call-template> | |
</xsl:when> | |
<xsl:otherwise> | |
<xsl:value-of select="$text"/> | |
</xsl:otherwise> | |
</xsl:choose> | |
</xsl:template> | |
</xsl:stylesheet> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment